Archiv verlassen und diese Seite im Standarddesign anzeigen : Erkennen, ob gesprochen wird
Hallo,
ich habe zur Zeit viele verschiedene Probleme. Das liegt daran, das ich verschiedene Projekte angefangen habe und immer wenn ich bei einem Projekt hänge und nicht weiterkomme erst mal bei einem anderen Projekt versuche weiter zu kommen.
Im aktuellen Fall möchte ich erkennen, ob in einem Raum ein Mensch spricht. Ich habe mir folgende Schaltung ausgedacht:
23962
Es handelt sich dabei um ein Elektret-Mikrofon mit Verstärker inkl. Frequenzfilter und nachgeschaltetem Komperator. Den Verstärker mit Filter hatte ich bereits in einem anderen Projekt im Einsatz, bei dem ich via µC Sprach-Waves aufgezeichnet habe. Der Verstärker ist also erprobt und funktioniert.
Hinzu gekommen ist die letzte Stufe (N1:D). Das Signal PWM_EDGE kommt vom µC, damit dieser seinen Schwellwert selbst einstellen kann. Die gemessene PWM-Spannung ist durch C7 genügend geglättet, das habe ich mit dem Oszi überprüft.
Ich habe aber auch schon ein Poti an Pin 12 angeschlossen, mit dem ich die Schwellspannung fest einstellbar machen konnte, es gab beim Verhalten keinen Unterschied.
Leider sind die Ergebnisse nicht zufriedenstellend, bzw nicht konstant. Wenn man den Schwellwert eingestellt hat funktioniert es ein paar Minuten, und dann wieder mal nicht. Das ganze scheint stark zu driften. Schlimm wird es, sobald ein Handy in die Nähe kommt, dann spinnt die Schaltung zeitweise komplett.
Wie macht man sowas besser? Das Ziel ist es nur zu erkennen ob gesprochen wird oder nicht.
Viele Grüße
Andreas
Kommt drauf an, was du im Programm machst, Taste doch das Signal ab, erstelle ein fft und schau dir den Betragsspektrum an, da sollte es eher stabil sein, bin grad auch an sowas drann, simuliere aber vorab erst in matlab.
Hallo Speedy,
leider sind fft und Betragsspektrum für mich "böhmische Dörfer".
Im Programm möchte ich nur darauf reagieren, wenn es Geräusche gibt. Man kann das Ziel grob als "Babyfon" definieren, nur das die Geräusche selbst gar nicht übertragen werden müssen.
Viele Grüße
Andreas
Hallo!
Wie macht man sowas besser? Das Ziel ist es nur zu erkennen ob gesprochen wird oder nicht.
Ich würde es mit selektiven Verstärker (ca. 300 - 3000 Hz) mit automatischer Verstärkungregulation und Schmitttrigger am Ausgang realisieren. ;)
Übrigens, besser ist immer relativ. :p
Man könnte sich fertige Schaltungen "VOX in TX" von Funkamateure anschauen (z.B.: http://service.alan-electronics.de/Accessories/Vox-Sets/Vox-Box-Schaltung.pdf ), weil es zum Umschalten einer Antenne zwischen Sender und Emfänger benutzt wird, wenn ins Mikrophon gesprochen wird.
Guten Morgen PICture,
danke für die Tipps. Dein zweiter Vorschlag hört sich am Vernünftigsten an. Zum Thema "VOX in TX" habe ich leider nur zwei Treffer bei Google erhalten und diese haben nichts mit dem Thema zu tun, aber dein verlinkter Schaltplan hat das IC NJM2072 gezeigt, das laut Datenblatt genau das macht, was ich möchte. Sobald Sprache erkannt wird, wird ein Open Collector Ausgang geschaltet. --> Perfekt!
Leider ist das IC nicht mehr erhältlich. Ich habe Reichelt, ELV, Conrad, Farnell, RS, Segor und Digi-Key abgeklappert. Nirgedwo ist das IC überhaupt im Programm. Einen Ersatztyp habe ich leider auch nicht gefunden. Kennt jemand eine Bezugsquelle oder einen Ersatztyp für dieses IC?
In der Zwischenzeit beschäftige ich mich mal mit selektiven Verstärkern...
Viele Grüße
Andreas
Vielleicht: http://www.ebay.de/sch/i.html?_trksid=p5197.m570.l1313&_nkw=NJM2072&_sacat=0&_from=R40 . ;)
Danke, auf die Idee "eBay" bin ich noch gar nicht gekommen. Ich bräuchte aber, wenn es damit funktioniert, mindestens 20 Stück. Somit fällt deine gute Idee leider ins Wasser.
Mittlerweile habe ich noch den NJU1781 gefunden, den gibts aber auch nirgendwo.
Und den BA335, da bin ich mir aber noch nicht 100%ig sicher, ob es damit funktioniert. Außerdem habe ich den bis jetzt auch nur bei eBay gefunden.
Wie gesagt, wenn mans einfach machen will, Taste dein Signal ab und Rechne die energie aus und setz das in einem Filter, klappt sehr gut!!!
Hier ist ein beispiel... (http://www.mikrocontroller.net/topic/111145)
vorausgesetzt du benutzt ein microcontroller und wenn du matlab hast, kannst du es schön simulieren.
Oder solltest du die unterfunktionen kennen, oder nachschlagen wollen kommst du hiermit auch weiter.
E = sum(abs(x).^2)
Damit bekommst du die Energie und kannst dann die empfindlichkeit einstellen indem du ein ditigalen Filter nimmst!
Hallo Sp666dy,
ich habe gerade noch mal das Datenblatt meines Controllers (ATmega162) durchforstet. Der hat leider keinen ADC. Würde es damit trotzdem gehen?
Viele Grüße
Andreas
ja ich glaube ein AD wandler IC würde da helfen, aber ich glaube schon das ein atmega16 ein ad wandler drin ist?
Ne doch nicht, hasse recht.
Wie weit bist du denn mit deinem MIC gebunden, muss es der sein? und wie viel erwartest du von dein IC, wenn du viel amchen willst, lohnt es sich ein MIC nur dafür zu benutzen ob ein signal rien kommt oder nicht. und dann vielleicht noch die zeitdauer des signal weiter zu geben.
Gruß David
Guten Morgen David,
ich bin überhaupt nicht ans Mikro gebunden. Das verwendete Zeug in meinem Versuch oben lag halt so rum. Deshalb habe ich damit experimentiert.
Mir geht es wirklich nur um ein Digitales Signal, ob im Raum jemand spricht, oder Krach macht. Vielleicht gibts da ja komplett fertige ICs?
Viele Grüße
Andreas
Mir geht es wirklich nur um ein Digitales Signal, ob im Raum jemand spricht, oder Krach macht.
Hallo,
also willst du nur ein Geräusch ab einem bestimmten Pegel detektieren, egal ob Sprache oder ein anderes Geräusch?
Habe ich das so richtig verstanden?
Ohne jetzt lange überlegt zu haben, sollten sich doch die "Klatschschalter" für diesen Zweck anpassen lassen. Schaltungen sollte es im Netz geben.
Ist nur so eine Idee auf die schnelle.
Auf die schnelle gefunden: http://www.pollin.de/shop/dt/MTg4OTgxOTk-/Bausaetze_Module/Bausaetze/Klatschschalter_Bausatz.html . ;)
Gute Idee ihr zwei. So ein Ding werde ich mir mal bestellen und unter die Lupe nehmen. Danke!
Den klatschalter habe ich drei mal gekauft, und alle haben nicht funktioniert der von conrad ist besser, auch wenn er teurer ist... :-(
Den klatschalter habe ich drei mal gekauft, und alle haben nicht funktioniert der von conrad ist besser, auch wenn er teurer ist...
Ich habe auch nicht empfohlen diesen diesen Bausatz zu kaufen, sondern sich Schaltungen im Netz anzusehen und diese für den gewünschten Zweck anzupassen.
Wenn ich mir die Schaltung so anschaue, sollte auch dieser funktionieren. Nur muss man wahrscheinlich neben dem Mikrofon klatschen. Das Ding ist nicht empfindlich und genau das wird auch das Problem des TO werden.
Sorry war dann falsch verstanden, aber am sensor habe ich alles versucht, aber naja, habs dann selber gemacht.
@Bumbum, hab gestern mal den Code in matlab geschrieben und alles Simuliert wenn dich das interessiert schick ich dir das mal, aber probier erst den klatsch schalter ;-)
Hallo Sp666dy,
ich glaube auch das der Klatschschalter erst mal die bessere Lösung ist. Ob ich bei dem Mathe-Zeugs durchsteige wäre nämlich die nächste Frage... ;-)
Viele Grüße
Andreas
Es sollte für Erhöhung der Empfindlichkei ein (selektiver) Verstärker zwischen Mikrofon und dem Modul genügen. Damit: http://www.ti.com/tool/filterpro geht's ohne Mathe. ;)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.