-
Phased-Array-Mikrofon
- Ein 192-Kanal-Phased-Array-Mikrofon, das FPGA-Datenerfassung sowie Beamforming/Visualisierung auf der GPU bietet. Ein Phased Array ermöglicht Anwendungen, die mit herkömmlichen Richtmikrofonen nicht möglich sind, etwa die Richtwirkung nach der Aufnahme sofort zu ändern oder gleichzeitig auf Hunderttausende Punkte zu fokussieren.
- Alle Designs werden als Open Source bereitgestellt:
- Host-Software
- FPGA-Gateware
- PCB-Layout und Schaltpläne, mechanische Komponenten
-
Hardware
- Um ein Phased-Array-Mikrofon zu bauen, müssen viele Mikrofone mit großem Abstand angeordnet werden. Bei einem linearen Array ist ein exponentieller Abstand zwischen den Mikrofonen für Breitbandsignale optimal.
- Die Gesamtkosten liegen bei etwa $700.
Arm
- Die Länge jedes Arms wird durch die Grenzen der PCB-Fertigung und -Bestückung bestimmt. Gefertigt wurde bei JLCPCB; die maximale Länge eines 4-Lagen-PCBs beträgt 570 mm.
- Als Mikrofone wurden die günstigsten MEMS-Mikrofone mit digitalem Ausgang ausgewählt, da es bei den Leistungsmerkmalen keine großen Unterschiede gibt.
- Sie geben die Daten über PDM aus und unterstützen DDR, sodass zwei Mikrofone auf einer Leitung gemultiplext werden können.
- Jeder Arm hat 8 Mikrofone, die sich 4 Ausgangsleitungen teilen; außerdem ist ein Ausgangspuffer auf der Clock-Eingangsleitung enthalten.
- Die Ausbeute der PCBs ist nicht gut; das häufigste Problem ist, dass die Clock-Leitung mit 3V3 oder Masse kurzgeschlossen ist.
Hub
- Für die Datenerfassung wird ein FPGA verwendet, da es eine große Zahl latenzarmer IOs einsammeln und über Hochgeschwindigkeitsschnittstellen kommunizieren kann.
- Verwendet wird eine Colorlight-i5-Karte, die genügend IOs bietet, günstig ist und zwei integrierte Ethernet-PHYs hat.
- Der Hub enthält eine einfache Stromversorgungsverwaltung sowie die Arm-Boards und Ethernet-Anschlüsse.
Mechanisches Design
- Die Arme werden mit M3-Schrauben am Hub befestigt und mit PCB-Montage-Abstandshaltern/-Muttern montiert.
- Im ursprünglichen Design hatten die Arm-PCBs Schlitze, damit sie mit einem strukturellen PCB verzahnt werden konnten; im finalen Design wird der Außenrahmen jedoch mit MDF eingefasst und per Kabelbinder befestigt.
- Ein an der Wand montiertes Mikrofonarray ist empfindlich gegenüber Reflexionen, daher wird Akustikschaum verwendet, um Reflexionen zu reduzieren.
-
Gateware
- Das Hauptziel der Gateware ist, die Rohdaten verlustfrei an den Computer zu übertragen.
- Dezimierung und Filterung auf dem FPGA würden zwar die Datenrate senken, aber es ist möglich, rohe PDM-Daten zu übertragen.
PDM-Schnittstelle
- Das PDM-Eingangsmodul teilt den 50-MHz-Systemtakt durch 16, gibt einen 3,125-MHz-PDM-Takt aus und latcht nach jeder Taktflanke 96 Eingangspins.
- Die Datenrate beträgt 600 Mbps, mit Headern 700 Mbps.
Paketisierung
- Die Paketisierung erfolgt mit einem FIFO-Puffer, der Pakete nur dann startet, wenn sich genügend Daten in der Queue befinden, um Pakete konstanter Größe zu garantieren.
- Jedes Paket enthält 48 PDM-Ausgabeblöcke und erreicht eine Übertragungsrate von 715 Mbps.
UDP-Streamer
- Dank des LiteEth-Projekts wird die Komplexität von UDP- und IP-Kapselung abstrahiert, sodass sich ein FIFO einfach an einen UDP-Stream anschließen lässt.
-
Software
CIC-Filter
- Jedes Mikrofon erzeugt bei 3,125 MHz ein 1-Bit-Signal, das auf eine sinnvollere Abtastrate und Bittiefe reduziert werden muss.
- Verwendet wird ein CIC-Filter mit 4 Stufen und 16-facher Dezimierung, um die Abtastrate auf 195 kHz zu senken.
Kalibrierung
- Zur Kalibrierung des Arrays spielt ein Lautsprecher White Noise ab und wird vor dem Array bewegt.
- Mithilfe FFT-basierter Kreuzkorrelation werden die relativen Verzögerungen zwischen den Mikrofonen berechnet.
- Durch Optimierung von Quellenposition und Mikrofonpositionen wird das beste Modell des Systems ermittelt.
Beamforming
- Beamforming ist eine Methode, die Rohsignale der Mikrofone zu verarbeiten, um eine Richtcharakteristik zu erzeugen.
- Dabei werden Verzögerungen im Frequenzbereich implementiert, um die Signale zu verarbeiten.
- Es wurden ein 3D-Near-Field-Beamformer und ein 2D-Far-Field-Beamformer implementiert.
3D-Beamforming im Nahfeld
- Es arbeitet auf einem 5-cm-Voxelraster und erreicht auf einer RTX 4090 eine Aktualisierungsrate von 12 Hz.
- Zur Visualisierung wird VisPy verwendet.
2D-Beamforming im Fernfeld
- Verwendet wird ein 512x512-Pixel-Raster, erreicht werden 12 Hz Aktualisierungsrate.
Richtungsabhängiges Audio
- Es wurde ein Delay-and-Sum-Beamformer im Zeitbereich implementiert, um richtungsabhängige Audioaufnahmen zu ermöglichen.
Aufnahme
- Die Daten des Mikrofonarrays werden als UDP-Pakete übertragen und können mit Tools wie
tcpdump aufgezeichnet werden.
- Der Nachteil dieser Aufnahmemethode ist die sehr hohe Ausgabedatenrate.
-
Nächste Schritte
- Das Projekt ist im Wesentlichen abgeschlossen, und es sind zwar keine weiteren Arbeiten geplant, aber es gibt mehrere mögliche Erweiterungen.
- Einsatz fortschrittlicherer Beamforming-Algorithmen
- Eine bessere GUI, die alle Funktionen kombiniert
- Kombination von differenzierbarem Beamforming mit neuronalen Netzmodellen
1 Kommentare
Hacker-News-Kommentare
Es wird erwähnt, dass die Optimierung der Schallgeschwindigkeit, um das optimale Modell des Systems zu erhalten, wie ein sehr komplexes Thermometer funktioniert.
Es wurde ein Projekt durchgeführt, bei dem mit 4 Mikrofonen die Position von Fledermäusen bestimmt und ihre Art identifiziert wurde.
Es wird gefragt, warum PDM statt TDM-I2S-Mikrofonen verwendet wurde.
Es wird die Meinung geäußert, dass man dies gern in Kombination mit einem Ultraschall-Lautsprecherarray für medizinische Anwendungen nutzen würde.
Es wird erwähnt, dass man auf YouTube beeindruckende Demos von akustischen Kameras sehen kann.
Es wird gehofft, dass hochwertige gerichtete Audiofunktionen auf mobilen Geräten eingeführt werden.
Es wird das kugelförmige akustische System erwähnt, das Boeing beim 787-Prototyp verwendet hat.
Es wird gedacht, dass ein Projekt zur Trennung von Schall auf Basis der Position großartig wäre.
Es wird Erstaunen über die lange PCB in Form eines „Arms“ geäußert.
Es wird erwähnt, dass diese Technologie in Drohnen immer häufiger eingesetzt wird.