Positionserkennung einer Audioquelle

Gast #676476
Hallo zusammen,

ich habe mich gefragt ob es möglich ist, ähnlich dem menschlichen Ohr, 
die Position einer Audioquelle mit Hilfe zweier Mikrofone und eines 
FPGAs zu bestimmen. Kennt vielleicht jemand eine Seite auf der so etwas 
bereits probiert wird? Wie realistisch ist das?

Mfg

Max
Admin Persönliche Seite
Ein FPGA kann prinzipiell alles rechnen, man muss sich aber erst mal 
Gedanken darüber machen was man überhaupt rechnen will. Bei zwei 
Mikrofonen bekommt man relativ einfach per Kreuzkorrelation den Winkel 
der Quelle. Um die Position 2- oder 3-dimensional zu bestimmen braucht 
man (wenn man es nicht mit Kunstkopf o.ä. komplizierter machen will als 
es eh schon ist) mehr Mikrofone. Dafür gibt es z.B. den 
MUSIC-Algorithmus, der den Vorteil hat dass man beliebige 
Mikrofonanordnungen verwenden kann. Problem sind in allen Fällen 
Reflexionen; in reflexionsarmen Räumen funktioniert das alles ganz gut, 
in der Praxis ist es stark von der Umgebung abhängig.
Sowas habe ich mal als Experiment mit einem PC gemacht. Statt 2 
Mikrofonen mit 2 Lautsprechnern und 1 Mikrofon. Die Lautsprecher waren 
ein simpler Stereo-Kopfhörer. Per Soundkarte wurden zwei 
unterschiedliche Signale, ähnlich Weißem Rauschen, auf den Linken und 
Rechten kanal ausgegeben. Diese zwei Signale sind dabei per 
MLS-Maximum-Length-Sequence in BPSK-Binary-Phase-Shift-Koding kodierte 
Pseudozufallssequenzen, 16Khz. Parallel dazu wurde per Soundkarte der 
Mikrophoneingang in 48Khz gesampelt. Das ergab ein 8-fach Oversampling. 
Per Windows-Software wurde nun aus dem empfangenen Signal per FHT-Fast 
Hadamard Transformation die Korrelation beider MLS im Signal 
durchgeführt und so die Laufzeit der beiden Signale vom Lautsprecher zum 
Mikrophon berechnet. Wenn nun der Abstand zwischen den beiden 
Lautsprechern bekannt ist, kann man in der 2D Plane eine Triangulierung 
machen. Wenn die MLS weitaus länger dauert als der Schall benötigt um 
zum Mikrophon zu gelangen so kann man die Reflexionen quasi 
unterdrücken. Aber die Reflexionen sind immer ein Problem und müssen 
durch geeignete Mittel unterdrückt bzw. detektiert werden. Die Resultate 
in der Genauigkeit der Ortung sind natürlich auf Grund der eingesetzten 
Technik nicht so berauschend, aber als Proof of Concept überaus 
brauchbar.

Bei vielen DVD Heimkinoanlagen wird das gleiche Prinzip verwendet um die 
Laufzeitkorrektur der einzelnen Kanäle einstellen zu können. Abwechselnd 
reiherum sendet die Anlage über die Lautsprecher ein Rauschsignal aus 
das durch ein spezielle Mikrophon am gewünschten Hörerstandort 
aufgenommen wird. Die Anlage berechnet daraus die Laufzeiten des Schalls 
und justiert damit die Signalverzögerungen der einzelnen Kanäle, so daß 
sich exakt am Mikrofonstandort ein sauberes Hörfeld ergibt.

Gruß Hagen
Es gab vor langer Zeit (10 Jahre?) von Reichelt oder pearl mal eine 
'3D-Maus' die mit der Ortung einer Ultraaschallquelle gearbeitet hat. 
Die Quelle war ne Art Ring, den man sich an den Finger gesteckt hat mit 
nem eingebauten Ultraschalllautsprecher. Die Ortung lief über einen 
Rahmen mit 3 Micros, den man sich über den Bildschirm gehängt hat. Die 
Ergonomie von dem Ding war ne Katastrophe, die Ortung funzte aber ganz 
ordentlich.

Cheers
Detlef

PS

Den Ring habe ich gerade in meiner Schreibtischschublade gefunden. 
Wenns' Dich interessiert kuck ich im Keller nochmal nach dem Rahmen und 
schick Dir das Zeug in nem Freiumschlag. Software ist aber wohl mal bei 
nem Plattencrash untergegangen.
Gast
Nur so:

Das Ohr kann man nicht mit einem Mikro. vergleichen:
  die Muscheln hat einen Effekt.

Menschen mit einem Ohr können ebenso die Richtung ermitteln.


Zu den reflexionen:
  bedingt, es wird nur der Beginn eines Tones, des Schalles betrachtet.


Wenn der weg zu beiden Mikros kurz ist, und die Reflexion einen
längerenb Weg braucht, stört es die ersten Abtastungen/Aufnahmen nicht.
>Wenn der weg zu beiden Mikros kurz ist, und die Reflexion einen
>längerenb Weg braucht, stört es die ersten Abtastungen/Aufnahmen nicht.

Korrekt, aber es stört die nächsten Abtastungen. Mit der Codierung per 
MLS kann man das aber aktiv und digital unterdrücken, ohne das die 
Abtastrate -> Pingzeiten beim TOF verlängert werden müssen.

Gruß hagen
Gast
Hallo

ich beschäftige mich auch momentan mit der Bestimmung des Winkels zu 2 
Mikrophonen mit hilfe der Kreuzkorrelation. Anreiz dafür hat mir der 
Artikel in Elektor gegeben www.elektor.de. Stichwort Binaural Sensor. 
Ich will das ganze mit einem dsPIC aufbauen. Hat da einer von euch 
erfahrung mit (Code)?

Gruss
Johannes

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.