Forum: Digitale Signalverarbeitung / DSP / Machine Learning Positionserkennung einer Audioquelle


von Max (Gast)


Lesenswert?

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

von Jorge (Gast)


Lesenswert?

Spätestens nach der ersten Reflexion am Boden ist Sense.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?


von 2917 (Gast)


Lesenswert?

Ein FPGA wird nicht reichen. Das Prinzip nennt sich Autokorrelation. Und 
mit 2 Mikrophonen ist man auch nicht dabei. 2 Mikrophone definieren erst 
die Ebene.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

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.

von DP unregistered (Gast)


Lesenswert?


von Hagen R. (hagen)


Lesenswert?

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

von Detlef _. (detlef_a)


Lesenswert?

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.

von Christian (Guest) (Gast)


Lesenswert?

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.

von Hagen R. (hagen)


Lesenswert?

>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

von Johannes (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.