PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mikrofon für Ortsbestimmung???



5Volt-Junkie
19.12.2011, 13:37
Hallo RNler ;)

ich habe mir überlegt, ob es irgendwie möglich ist mit Hilfe von Mikros zu bestimmen, aus welcher Richtung der Ton kam.

Theoretisch sollte es ja möglich sein, ob es aber auch in der Praxis geht...?
Googlesuche etc. ergab leider keine passenden Treffer (oder ich verwende falsche Begriffe)

Ich möchte 4 Mikros mit einem µC einlesen und zwar haben die folgende Abstände

M1--15cm--M2
| |
| |
30cm 30cm
| |
| |
M3--15cm--M4

um mit den leichtesten Dingen anzufangen, ist mir erst mal wichtig zu wissen, welches Mikrofon überhaupt als erstes angesprochen wurde (ungefähre Richtung)

später kann man sich dann Gedanken über genaue Richtung machen



Mein erster Gedanke wäre das Signal zu verstärken, an einen Schmitt-Trigger zu geben, ein Interrupt im µC auslösen und evtl. mit irgendeinem Port auslesen welches Mikro angesprochen wurde.

Aber würde es so auch Zeitlich klappen? Man darf ja die Abweichwerte bei Kondensatoren, OPs, Widerständen, ICs usw nicht vergessen:confused:

Gibt es hier jemanden, der sowas schonmal gemacht hat bzw. was darüber weiß?

Danke!!!

Taramtamtam
19.12.2011, 14:03
Hallo,

vor ein paar Tagen kam abends mal ne Reportage ... ntv oder n24 ???

da ging es darum, wie man in den letzten Jahren die amerikanischen Präsidenten vor Terror schüzt. Da haben die genau dieses System gebaut und auf ein Auto gesteckt. Wenn einer in der nähe aus dem Hinterhalt ballert, wurde das über 8 Mikrofone aufgefangen und ein Computer im Auto errechnete in wenigen Sekunden die genaue Position des Schützen.

Also gehen tut das - und interessant klingts auch - Ich würde erstmal mit 2 Mikrofonen anfangen und später evtl. erweitern.

Viel Spaß und toi toi toi...

Besserwessi
19.12.2011, 16:53
Ich würde auch erst mit 2 Mikrofonen anfangen. Wenn man als zu ortendes Geräusch ein definiertes Knack- oder Knall- geräusch oder so was ähnliches hat, kann es mit der einefachen direkten Zeitmessung der 1. Flanke gehen.

Wenn das Geräusch keine klar definierte 1. Flanke hat, bliebe vor allem das Berechnen der Korrelationsfunktion. Die Signal müssten dazu per AD Wandler aufgenommen werden. Für 2 Mikrofone habe ich das auch mal überlegt aufzubauen - bin aber bisher noch nicht dazu gekommen. Meine Idee war die Korrelationfunktion für etwa 8-16 Verzögerungen direkt "brute Force" auszurechnen. Von der Rechenleistung wäre ein kleiner µC wie ein 8 Bit AVR oder ähnliches damit schon weitgehend beschäftigt, sollte aber noch reichen. Die feine Einteilung der Winkel zwischen den ca. 45 Grad Segmenten bekommt man dann durch Interpolation. Für mehr als 2 Mikrofone wird man da dann wohl mehr Rechenleistung (z.B. ARM) brauchen - da reicht dann ggf auch wieder der interne AD Wandler.

Bei den Mikrofonen sollte man schon gleiche kleine Elektret Mikrofone nutzen, und auch die Verstärker wird man schon aus Faulheit gleich aufbauen. Im Interessanten Bereich sollte da einfach keine analoge Filterwirkung sein - dann sind auch Kondensatorwerte und Widerstände nicht kritisch. Die meisten kleinen Mikrofone sind sehr gut vom Frequenzgang und haben Kugelcharakteristik, machen da also keine Probleme.

Markus4004
19.12.2011, 18:08
Googlesuche etc. ergab leider keine passenden Treffer (oder ich verwende falsche Begriffe)


Begriffe für Google:
MUSIC algorithm
der macht das was Du willst, aber ich habe keine Ahnung wie aufwändig das ist.

(Elektronisches) Beamforming
Dabei geht es darum, dass Du die Signale so verrechnest, dass praktisch ein "Empfangsstrahl" entsteht und Du damit nur in eine bestimmte Richtung hörst. Wenn Du dann den Strahl schwenkst kann Du die Richtung feststellen.

Diese Ansammlung an Empfangsquellen nennt man array. Google spuckt zum Thema Mikrofonarray einiges aus.

BMS
19.12.2011, 21:05
Hallo,
eine Ausführung mit zwei Mikrofonen kenne ich unter dem Namen "Binauralsensor".
Vielleicht findest du dazu weitere Hinweise.
Grüße, Bernhard

5Volt-Junkie
20.12.2011, 15:23
Vielen Dank für viele nützliche Infos.
Entschuldigt mich bitte, wenn ich demnächst kein Probeaufbau liefere.
Ich will erst mal einige Infos für mein zukünftiges Langzeitprojekt sammeln ;)

5Volt-Junkie
29.12.2011, 02:46
Hab da mal was schönes gefunden ;)
http://letsmakerobots.com/node/24544

Markus4004
29.12.2011, 02:56
Was ich vergessen hab zu erwähnen: Es macht einen großen Unterschied, ob man eine Quelle orten will oder mehrere. Man braucht ein Mikrofon mehr als man Quellen hat, d.h. also mit 2 Mikrofonen kannst Du nur 1 Quelle orten (außer Du kannst die Quellen irgendwie auseinanderhalten, z.B. weil sie verschiedene Frequenzen haben).

Manf
29.12.2011, 06:36
Hier gibt es eine einfache Messung der Signale von 2 Mikrofonen
https://www.roboternetz.de/community/threads/23537-akustik-gesteuerter-roboter?p=219539&viewfull=1#post219539 (https://www.roboternetz.de/community/threads/23537-akustik-gesteuerter-roboter?p=219539&viewfull=1#post219539)

20972

5Volt-Junkie
29.12.2011, 13:40
Hallo Manf,

ich habs mir schon so vorgestellt, dass die Signale ungefähr so aussehen würden. Man könte also in den ersten Schritten einfach die Signale verstärken und über Schmitt-Trigger an die µC-Eingänge führen oder evtl. (wenn die Zeit es zulässt) am ADC vergleichen.
Ist die Messung von Dir?
Wenn ja, kennst du noch die Werte/Div ?


Das ganze wird später der Gehörsinn eines Sechsbeiners sein ;)

Manf
29.12.2011, 14:55
50mV/div, allerdings habe ich bei den Hochtönern als Mikrofon so laut geklatscht, dass die Spanungen sichtbar wurden. Gerade bei Schall geht es aber auch mal eben schnell ein paar Größenordnungen weiter runter.