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
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.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.