Hallo ich würd gern meinem Atmega das Hören ermöglichen... aber wie mach ich das am besten? Hat jemand Vorschläge?
Gruß
uC
Hallo ich würd gern meinem Atmega das Hören ermöglichen... aber wie mach ich das am besten? Hat jemand Vorschläge?
Gruß
uC
Was möchtest du denn genau hören?
Z.B. Spracherkennung mit einem Mega8 braucht man gar nicht versuchen.
Ziel wäre Vierkanalmikrophon, vier Kanäle über Detektzeit Sampeln, anschließend Korrelation drüberlaufen lassen, und aus den entsprechenden Phasenversätzen Richtungsinformation bzgl. der Schallquelle dranhängen.
Sollte eigentlich locker möglich sein. Sollten die 10 Bit vom Atmega8 nicht ausreichen, habe ich noch 16Bit SPI ADCs rumliegen...
Mikro ist noch halbes Problem, hab gerade erfolgreich nen Elektret Mikrophonverstärker in Betrieb genommen
Die 10Bit werden weniger dein Problem sein, da schon 8 völlig reichen würden. jedoch wirst du mit 4 kanäle nicht gleichzeitig sampeln können un zu dem ist diese rate wichtiger als die bit-auflösung. was soll das mit den phasenversätzen? miss doch einfach den pegel!
Pegel??? Richtungsinformation??? Vielleicht wenn die Mikros mehrere Meter entfernt voneinander liegen...
Warum?
Liegen deine Ohren auch mehrere meter von einander entfernt?
Hallo uC,
es ist immer wieder erstaunlich, seit gestern bin ich auch dabei, ein Mikrofon an meinen Atmega anschließen zu wollen.
Mein Signalverarbeitung habe ich schon so weit, dass sie tut was sie soll. Jetzt bin ich mir nur noch mit dem Mikrofon etwas unsicher.
Ich habe bis jetzt noch keine Ahnung, welchen Spannungspegel die Mikrofonkapseln bei Zimmerlautstärke des gesprochenen Wortes so ungefähr liefern. Weiss das vielleicht jemand ?
Was Deine Idee mit der Richtungserkennung und den Mikrofonen angeht, sehr interessant. Ich habe schon mal mit ein paar Leuten darüber diskutiert, die einen Roboter mit 2 Mikrofonen ausgestattet haben. Der Algorithmus schien mir allerdings recht aufwendig ( die haben irgendwie mit der Schätzung der akustischen Parameter des Raumes gearbeitet ). Das schien mir aber irgendwie zu umständlich und es gibt bestimmt noch einfachere Möglichkeiten.
Aber ich halte es für sehr ratsam, das ganze erst mal mit Matlab und real aufgenommen Signalen zu simulieren. Ich habe zumindest bei den einfachen auf dem Atmega implementierten Filtern, die Erfahrung gemacht, dass es relativ aufwendig ist die Filter im Atmega lauffähig zu implementieren, da man unter Umständen relativ stark mit Rundungseffekten kämpft. Und zu den eigentlichen akkustischen Untersuchungen kommt man dann gar nicht.
Gruss,
stochri
@Rage-Empire
bezüglich der Abtastfrequenz solltest Du Dich mit der Bedeutung des Abtasttheorems genauer auseinandersetzen
also mit max. ~15khz sample 4 Mikros gleichzeitig (realtime)? An einem AtMega? Sorry, mit was soll ich mich da noch auseinandersetzten um zu wissen, dass das so nicht gehen wird?Zitat von stochri
15kHz steht zwar im Datenblatt, man kann den AD-Wandler aber bis 150kHz hochtreiben. Habe ich schon gemacht und ein kleines Oszi damit gebaut.also mit max. ~15khz sample 4 Mikros gleichzeitig (realtime)? An einem AtMega? Sorry, mit was soll ich mich da noch auseinandersetzten um zu wissen, dass das so nicht gehen wird?
Der Telefonsprachkanal ist für 3kHz ausgelegt. Das heist mit 6Khz Abtastrate kommt man für eine Sprachrichtungserkennung hin. Zur Sicherheit nehmen wird 10Khz ==> 40 kHz für 4 Kanäle. d.h. man kann's schaffen.
stochri
Lesezeichen