Alle Projekte

Time-Domain Beamforming

Implementierung von Delay-and-Sum-Beamforming zur gerichteten Schallsteuerung mit konfigurierbarer Lautsprecher-Matrix und Beam-Winkel-Steuerung.

Titelbild des Beitrags: Visualisierung eines gerichteten Schallfelds

Abstract

Dieser Beitrag bietet eine Einführung in die Technik des akustischen Beamformings und erklärt, wie die Methode des Delay-and-Sum-Beamformings im Zeitbereich (TDBF) funktioniert. Anhand der Implementierung in der grafischen Programmieroberfläche OpenMusic mit der OM-SoX-Library werden die praktischen Schritte zur Erstellung eines Beamforming-Systems veranschaulicht. Darüber hinaus werden Anwendungsmöglichkeiten sowie aktuelle Praxisbeispiele vorgestellt, die das Potenzial dieser Technologie in der Audioverarbeitung und -steuerung aufzeigen.

Kontext: Projektarbeit im Modul Visuelle Programmierung der Klangverarbeitung und räumlichen Synthese bei Prof. Dr. Schumacher (Institut für Musikinformatik und Musikwissenschaft).

Erstveröffentlichung: zum Originalbeitrag

Was ist Beamforming?

Beamforming ist eine fortschrittliche Signalverarbeitungstechnik, die es ermöglicht, Signale gezielt aus einer bestimmten Richtung zu empfangen oder in eine bestimmte Richtung zu senden. Beim akustischen Beamforming handelt es sich um Schallwellen, die entweder mit einem Lautsprecher-Array gerichtet ausgesendet oder mit einem Mikrofon-Array aus einer bestimmten Richtung erfasst werden. Darüber hinaus findet Beamforming auch in anderen Anwendungsbereichen Verwendung, in denen Signale mithilfe von Antennen verarbeitet werden – beispielsweise zur präziseren Zielerkennung und effizienteren Interferenzunterdrückung in Radarsystemen oder zur Optimierung moderner Mobilfunknetze.

Im weiteren Verlauf dieses Beitrags wird zunächst eine grundlegende Methode des akustischen Beamformings erläutert. Anschließend folgt eine Beschreibung der Implementierung dieses Ansatzes in der grafischen Programmieroberfläche OpenMusic unter Verwendung der Library OM-SoX. Abschließend werden sowohl mögliche Anwendungskonzepte als auch aktuelle Praxisbeispiele vorgestellt.

Delay-and-Sum-Beamforming

Das Delay-and-Sum-Beamforming ist eine grundlegende Technik zur Steuerung der Richtung und Fokussierung von Schallwellen durch Phasen- und Amplitudenanpassungen. Dabei werden Signale von einem Mikrofon- oder Lautsprecher-Array entweder gezielt empfangen oder ausgesendet. Diese Technik lässt sich in zwei Methoden unterteilen: das Delay-and-Sum-Beamforming im Zeitbereich (Time-Domain Beamforming, TDBF) und im Frequenzbereich (Frequency-Domain Beamforming, FDBF).

Während beim TDBF die Signalverarbeitung direkt im Zeitbereich erfolgt, wird beim FDBF das Signal zunächst in den Frequenzbereich transformiert und dort weiterverarbeitet. Letzteres Verfahren ist zwar leistungsfähiger, aber auch komplexer in der Implementierung und erfordert eine höhere Rechenleistung. Das Beamforming im Zeitbereich wird häufig als erster Schritt bei der Entwicklung von Beamforming-Systemen genutzt, da es weniger rechenintensiv ist und eine Grundlage für weiterentwickelte Methoden bietet. Da in diesem Projekt ausschließlich das TDBF verwendet wird, beschränkt sich die genauere Betrachtung der Funktionsweise auf diese Methode.

Time-Domain Beamforming

Beim TDBF werden gezielt destruktive und konstruktive Überlagerungen von Schallwellen genutzt, um eine bestimmte Richtcharakteristik des Schalls zu erzeugen. Konkret bedeutet das, dass – abhängig von den Abständen der Lautsprecher im Array zueinander und der gewünschten Richtwirkung – die Phasenverschiebung für die Signale jedes einzelnen Lautsprechers berechnet werden muss.

In der folgenden Animation wird dieses Prinzip anhand von fünf Klangquellen in äquidistanter Anordnung mit gleichmäßig phasenverschobenen Signalen identischer Frequenz veranschaulicht.

Animation der Phasenverschiebung bei fünf äquidistanten Klangquellen

Der Bereich, in dem nach der Überlagerung aller fünf Signale die schematisch dargestellte Schallwelle noch klar erkennbar ist, wird als Main Lobe (Hauptkeule) bezeichnet. In diesem Bereich findet eine konstruktive Überlagerung der Schallwellen statt. Bei einer Phasenverschiebung von 0° ist die Hauptkeule exakt orthogonal zum Lautsprecher-Array ausgerichtet. Die Animation zeigt deutlich, wie sich die Richtung der Hauptkeule mit zunehmender Phasenverschiebung verändert.

Bereiche mit besonders homogener Farbgebung weisen auf eine Abschwächung oder vollständige Auslöschung der Schallwellen hin, die durch destruktive Interferenz entsteht. Diese Bereiche werden als Nullstellen bezeichnet – hier sollte im Optimalfall kein Signal mehr wahrnehmbar sein. Alle anderen Regionen, in denen noch eine schwache Wellenstruktur erkennbar ist, nennt man Sidelobes (Nebenkeulen). Diese sind unerwünschte Bereiche, in denen das Signal noch leicht hörbar bleibt. Die Ausprägung der Nebenkeulen hängt von der Frequenz des Signals, der Direktivität sowie der Anzahl und Anordnung der Lautsprecher im Array ab.

Möchte man Beamforming nicht zum Senden, sondern zum gezielten Empfang von Signalen mit einem Mikrofon-Array nutzen, funktioniert dies nach demselben Prinzip der Phasenverschiebung. In diesem Fall werden die Laufzeitdifferenzen des Schalls aus der gewünschten Richtung für jedes Mikrofon berechnet. Anschließend werden die Signale aller Kanäle addiert und durch die Anzahl der Kanäle geteilt, um die ursprüngliche Amplitude des Ausgangssignals zu erhalten.

Implementierung mit OM-Sox in OpenMusic

Im Rahmen meiner Abschlussarbeit im Seminar „Visuelle Programmierung der Raum-/Klangsynthese“ sollte eine Anwendung für Time-Domain Beamforming und Beamsteering in OpenMusic mithilfe der Library OM-SoX implementiert werden. Der folgende Abschnitt führt durch die notwendigen Schritte dieser Implementierung.

Gesamter Patch

Definition der Lautsprecher-Matrix

Patch Teil 1

Zunächst wird die Lautsprecher-Matrix definiert. Die Koordinaten jedes Lautsprechers (in Metern) können entweder direkt als Liste im Format ((x1, y1, z1), (x2, y2, z2), …) eingegeben oder manuell in den beiden BPC-Objekten angegeben werden. Entscheidet man sich für die manuelle Eingabe, müssen die Objekte vor der Ausführung des gesamten Patches gesperrt werden.

Bei der Angabe der Lautsprecherkoordinaten ist darauf zu achten, dass sie relativ zu einem selbst festgelegten Nullpunkt angegeben werden. Dieser Nullpunkt dient als Referenz für die im nächsten Abschnitt definierten Beam-Winkel.

Berechnung der Zeitverzögerungen

Patch Teil 2

Basierend auf den angegebenen Winkeln Theta und Phi wird zunächst der Richtungsvektor des Beams berechnet.

Compute Direktion-Vector

Anschließend werden unter Berücksichtigung der Schallgeschwindigkeit die erforderlichen Zeitverzögerungen (in Sekunden) für jeden Lautsprecher ermittelt.

Compute Delays

Die berechneten Verzögerungen werden so angepasst, dass die kleinste Verzögerung auf 0 Sekunden gesetzt wird. Dies stellt sicher, dass mindestens ein Lautsprecher ohne Verzögerung sendet.

Scale Delays

Audio-Generierung und Verarbeitung

Patch Teil 3

Zuerst wird eine Audiodatei mit einem Sinuston der gewünschten Frequenz und Dauer erzeugt (hierfür muss in diesem Sub-Patcher die Audiodatei sine_wave_440Hz_1s.wav ausgewählt werden).

Make Sine Wave

In einem OM-Loop wird dann für jeden Lautsprecher eine eigene Audiodatei erstellt, wobei der Sinuston gemäß der zuvor berechneten Zeitverzögerung verschoben wird.

Main Processing

Da das SoX-Pad-Objekt bei sehr kleinen Gleitkommazahlen fehlerhafte Ergebnisse liefert, werden die Verzögerungen in einer Lambda-Funktion von Sekunden in Samples umgerechnet. Dies geschieht unter Berücksichtigung der Sampling-Rate.

Die einzelnen Audiodateien werden anschließend mit SoX-Merge zu einer Mehrkanal-Audiodatei zusammengeführt. In diesem Schritt kann zusätzliches Audio-Processing angewendet werden, das für das eigentliche Beamforming jedoch nicht erforderlich ist.

Extra Processing

Die Länge der Datei wird an die zuvor festgelegte Dauer angepasst, wobei der Beginn so gesetzt wird, dass alle Lautsprecher synchron starten. Zudem wird am Anfang und Ende der Datei ein Fade-In und Fade-Out angewendet, um mögliche Klickgeräusche zu vermeiden, die durch phasenverschobene Sinustöne entstehen könnten.

Die fertige Mehrkanal-Audiodatei wird im Outfile-Ordner des Workspaces unter dem angegebenen Dateinamen gespeichert.

Anwendungsbeispiele und reale Implementierungen

Konzepte für den Einsatz von Beamforming

Das akustische Sendebeamforming findet bereits in vielen Bereichen Anwendung. Bei den meisten Konzepten, die auf direktive Verstärkung und Auslöschung von Audio setzen, steht die Schaffung personalisierter Klangerlebnisse für mehrere Nutzer gleichzeitig im Vordergrund. Das Fraunhofer Institute for Digital Media Technology IDMT beschreibt in diesem Zusammenhang zwei Ansätze: Zum einen die Platzierung unterschiedlicher Audioinhalte in verschiedenen Bereichen eines Raumes, um personalisierte „Sound-Zonen“ ohne Kopfhörer zu schaffen. Zum anderen kann derselbe Audio-Content in unterschiedlichen Lautstärken verteilt werden, wobei gezielt „Quiet Zones“ – Bereiche, in denen keine Klangwahrnehmung stattfinden soll – entstehen können.

Mögliche konkrete Anwendungen wären zum Beispiel individueller Sound für Reisende in Fahrzeugen oder Flugzeugen, Sound an mobilen Geräten ohne Kopfhörer oder maßgeschneiderte Sound-Zonen in Supermärkten, Museen oder Ausstellungen.

Reale Implementierung von Beamforming-Technologie

Ein herausragendes Beispiel für eine echte, aktuelle Implementierung von fortgeschrittenem akustischem Sendebeamforming ist die Pro-Audio-Firma Holoplot, die 2011 in Berlin gegründet wurde. Holoplot stellt Lautsprecher-Matrix-Arrays für Live-Events, Konferenzräume und Installationen her und ermöglicht mit eigener Software komplexes Sound-Design durch Beamforming und Beamsteering.

Die Produktlinie von Holoplot besteht hauptsächlich aus zwei Matrix-Array-Modulen: dem Modul 80-S, das über 80 Treiber in einer Zwei-Schichten-Matrix und einen Subwoofer verfügt, sowie dem Modul 96, das 96 Treiber in einer Zwei-Schichten-Matrix integriert.

Ein Beispiel für den Einsatz dieser Technologie ist die multimediale Kunstausstellung „Lightroom“ in London, die mit nur zwei Beamforming-Modulen technisch realisiert wurde. Ziel war es, ein immersives Klangerlebnis für die Besucher zu schaffen, ohne dass Lautsprecher im Sichtfeld stören. Mit präziser Kontrolle über Sound-Zonen und Nullstellen konnte man zudem die herausfordernden akustischen Bedingungen der 11 Meter hohen Projektionsfläche aus Beton meistern.

Ein weiteres Beispiel ist der Multimedia-Entertainment-Veranstaltungsort „Sphere“ in Las Vegas, der eine 112 auf 157 Meter große, nahezu halbkugelförmige Umgebung umfasst. Mit knapp 164.000 Lautsprechern wurden Reflexionen geschickt genutzt und ungünstige Flächen vermieden. Darüber hinaus besteht die Möglichkeit, für jeden der 18.600 Sitzplätze ein personalisiertes Klangerlebnis zu bieten.

Neural Beamforming: Die Zukunft des akustischen Beamformings

Eine Weiterentwicklung des Beamforming ist das Neural Beamforming, bei dem neuronale Netzwerke in den Beamforming-Prozess integriert werden, um adaptive und datengetriebene Lösungen für komplexe akustische Szenarien zu realisieren. So können beispielsweise in Echtzeit Anpassungen an den Gewichtungen der Array-Elemente und der Richtcharakteristik vorgenommen werden, um auf Änderungen in der akustischen Umgebung zu reagieren.