PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sound - Richtung erkennen



Stroggi
24.07.2014, 21:56
Hi zusammen,

ich möchte die Richtung (eindimensional), in welcher sich eine Tonquelle (keine spezifische, einfach die lauteste Quelle) befindet, erkennen. Leider habe ich hierzu bislang keine Quellen gefunden. Hat einer von euch schonmal so etwas gemacht, oder kennt eine (verlässliche) Quelle?

Die Richtungserkennung sollte sich dabei vorerst lediglich auf den Unterschied in der Lautstärke beschränken und den komplexen Hokuspokus mit Phasendifferenz, etc. erstmal außer acht lassen.

Viele Grüße
Stroggi

Che Guevara
24.07.2014, 22:17
Hi,

da wirst du aber um den "Hokuspokus" nicht rumkommen (außer per Richtmikrofon). So schwierig ist das aber auch nicht. Im Prinzip musst du nur warten, bis ein Event aufgetreten ist und dann die Zeit messen, bis ein zweites und drittes Event mit einem ähnlichen Pegel auftritt (bei 3-phasigen Messungen, also incl Richtungsinformation).
Bei nur zwei Mikros reicht es, einfach zu messen, in welcher Reihenfolge die Events auftreten. Allerdings würde ich gleich die 3-phasige Variante bevorzugen, es kommen mehr Infos raus und wenn man schon dabei ist ;)

Gruß
Chris

EDIT:
Alternativ gäbs wohl noch die Methode, ein Richtmikrofon auf einem Servo oder Schrittmotor (allgemein: ein um 360° drehbares Teil) zu montieren und drehen lassen & scannen, um die größte Amplitude zu finden. Kommt natürlich auch drauf an, welche Rahmenbedingungen es gibt.

BMS
25.07.2014, 09:00
Hallo,
unter dem Stichwort Binauralsensor sollte man einiges finden ;)
Grüße, Bernhard

Crazy Harry
25.07.2014, 15:49
oder "akustische Kamera"

Stroggi
26.07.2014, 09:45
Dann werd ich wohl doch nicht um die Auswertung der Phase drum rum kommen. Wollte mich eigentlich nur auf den Lautstärkeunterschied konzentrieren und dieses hässliche Sliding Window Verfahren vermeiden, aber gut.

Evtl. langt es dann ja auch sich nur auf Spitzen in der Amplitude zu konzentrieren und hier die zeitlichen Abstände zu speichern. Das würde sich zumindest effizienter Vergleichen lassen. Muss da mal die Tage ein wenig experimentieren.

PICture
26.07.2014, 10:11
Hallo!

Du hast bisher deine Umgebung, wo "sound" geortet wird, nicht beschrieben, deshalb möchte ich dich nur auf eventuelle Reflexionen aufmerksam machen. Viel Spass und Erfolg beim Experimentieren ! :D

Stroggi
28.07.2014, 08:15
Die ganze Elektronik, etc. wird letztendlich in ein Plüschtier verbaut. Dieses soll dann in der Lage sein seinen Kopf in Richtung der Schallquelle zu drehen. Die Umgebungsbedingungen kann ich jedoch noch nicht abschätzen, da es sowohl in Räumen, als auch im Freien benutzt werden kann. Werde dann bei den Tests sehen inwieweit Reflexionen ein Problem werden und wie/ob ich dass kompensieren muss.

PICture
28.07.2014, 10:03
Im Freien können auch mehrere störende Soundquellen vorhanden sein und man müsste eventuell das Empfangene selektieren (z.B. nach Freguenz).

Ich vermute, dass es ein Spielzeug seien sollte, bei dem sich keine komplizierte Mechanik lohnt. Ich würde z.B. nur blinken von (LED)Augen per modifizierten Bausatz basteln (nur als Beispiel: http://www.pollin.de/shop/dt/MTg4OTgxOTk-/Bausaetze_Module/Bausaetze/Klatschschalter_Bausatz.html ). ;)

Thoralf
05.08.2014, 08:52
Hi,
wie wäre es ganz einfach pegelbasiert:
2 Mikrofonmodule mit Verstärker ( gibts wie Sand am Meer) -> Soundausgang auf einen Differenzverstärker -> Ausgangsspannung filtern -> Richtungsinformation

Ok, das Verfahren wäre sehr grob und die vorderen 180° wären gleichbedeutend mit den hinteren 180°, also mehrdeutig. Da es aber unrealistisch und technisch problematisch wäre, den Tierkopf um 360° (vllt. auch noch mehrfach) zu drehen, müßten die vorderen 180° ausreichen. Auf +/- 90° zugehend wird die Auflösung zunehmend kleiner. Das sollte aber bei einem Spielzeug nicht stören.

Besserwessi
05.08.2014, 10:53
Einfach mit Differezverstärker wirdes nicht gehe - da müsst erst noch eine Gleichrichtung vor. Auch dann ist es noch Frage ob die beiden Mikrofne wirklich gleich sind.
Von der Auswertung würde ich aber ich aber die Korrelationsmethode bevorzugen. Wenn man sich in der Bandbreite beschränkt (z.B. 1 kHz - was für Stimmen ausreicht), sollte das ein µc wie ein AVR noch per Brute Force schaffen.


Das Problem mit den 180 Grad ist nicht einfach, ließe sich aber löse wenn der Kopf etwa Gedreht wird. Da merkt man dann ob es richtig war oder nicht .

Thoralf
06.08.2014, 06:54
@BW
1. stimmt, gleichrichten und TP-filtern ...

2. Korrelationsmethode ist besser, würde ich eigentlich auch lieber so machen. Die Phasenbeziehung ist eindeutiger. Aber der Aufwand ist höher. Ich ging vom Spielzeugcharakter der Lösung aus. Vllt. könnte man - wie du schon sagst - das Signal stark bandbegrenzen, dann über einen Schmidt-Trigger grob digitalisieren (1/0) und die Zeitdifferenz von Rechts- und Linksimpulsen messen. Das könnte mit einer einfachen Logik gehen....

3. Das >180°-problem könnte man so lösen: 3 Mikrofonmodule im Winkel von 120° , dann die Differenzen 1-2, 2-3, 3-1 analog oder digital bilden. Die Auswertung kann dann jeder Low-Performance-µC machen.

Besserwessi
06.08.2014, 08:04
Die Korrelation würde ich schon eher über aufnehmen des Sounds über ADC Eingänge machen. Wenn man die Bandbreite begrenzt reicht auch eine moderate Abtastrate von 2-5 kHz. Das Schafft auch noch ein 8 Bit µC mit 2 Kanälen. Bei einem Abstand der Mikrofone von 10 cm hat man ja auch nur eine maximale Verzögerung von rund 3 Millisekunde oder etwa 6 Samples bei 2 kHz. Es sind also nur 13 Korrelationen die man berechnen muss, und das schafft ein AVR wohl noch in Echtzeit. Wenn nötig könnte man sich auf 8 Bit AD Werte beschränken. Es könnte aber schon helfen den kritischen teil in ASM zu schreiben. Ich hab das zwar noch nicht gemacht aber schon mal geplant. Als Ergebnis gibt es dann halt die Lautstärke für 13 Winkelbereiche.

Die Auswertung nach einem Schmidt-Trigger wäre nur einfach, wenn die Mikrofone dicht zusammen liegen (etwa < 2 cm), so dass man nicht abklären muss welche Flanken zusammengehören.