Messen Sie die menschliche Stimme für den Umgebungsgeräuschpegel

Ich muss einen Umgebungsgeräuschpegel entwickeln, um die Lautstärke in einem Büro zu messen. Manchmal erheben die Leute tagsüber ihre Stimme mehr als sie sollten, und es entsteht viel Verwirrung. Also sollte dieses Gerät irgendwo installiert werden, wie auf dem Tisch oder auf dem Dach, und es sollte eine LED aufleuchten, wenn der Lärm zu hoch ist.

Ich dachte daran, es so zu machen:

-Schließen Sie das Elektret an einen Bandpassfilter an, um nur die menschliche Stimme zu isolieren, die analysiert werden muss -Schließen Sie den Ausgang des Filters an einen Operationsverstärker an (reicht ein x100-Verstärker?) Mikrocontroller (wie Arduino) und lesen Sie den Sprachpegel.

Soll das funktionieren? Ich erwarte einen Wert von 0 bis 1024 vom Mikrocontroller zu lesen, ist das möglich?

Vielen Dank!

Messen Sie das Signal, wandeln Sie es dann mit dem ADC-Peripheriegerät auf dem Mikrocontroller um, verarbeiten Sie die erhaltenen Werte (Filtrat) mit einigen Gleichungen, summieren Sie nützliche (Sprachfrequenz-) Werte und zeigen Sie sie auf dem LCD-Display an, das wird das Konzept sein.

Antworten (3)

Das Spektrum der menschlichen Sprechstimme liegt ungefähr im Band zwischen 300 und 3000 Hz. Um also sicherzustellen, dass Ihr Widget hauptsächlich auf dieses Band reagiert, benötigen Sie einen Bandpassfilter irgendwo hinter dem Elektretmikrofon, wie Sie bemerkt haben.

Danach würde ich anstelle von allem Digitalen einfach einen 555 im monostabilen Modus verwenden, dessen TRIGGER-Eingangs-AC mit der gefilterten Audioquelle gekoppelt und die Verstärkung der Audioquelle so eingestellt ist, dass sie es tut, wenn jemand im Raum zu laut spricht löst den 555 aus.

Die Verwendung eines Potentiometers zum Variieren des Ausgangspegels der Audioquelle würde es ermöglichen, die Triggeramplitude einzustellen, indem jemand an der Grenze des Erfassungsbereichs laut spricht, während das Poti von jemand anderem eingestellt wird, wobei die richtige Einstellung gefunden wird, wenn die LED leuchtet beleuchtet.

Wenn die LED dann aufleuchtete, blieb sie für die Zeitdauer eingeschaltet, die durch die Zeitkonstante des externen RC des 555 bestimmt wurde, schaltete sich dann aus und blieb ausgeschaltet, bis das nächste Mal jemand schrie und den Zyklus von neuem begann.

Alternativ könnte der Triggerpegel eines Spannungskomparators wie unten gezeigt eingestellt werden, indem das Verhältnis der Widerstände im Referenzteiler R3R4 geändert wird, der genauso gut ein Potentiometer sein könnte, um die Einstellung vor Ort zu vereinfachen .

Hier ist das Schema:

Geben Sie hier die Bildbeschreibung ein

V2, V3 und V4 simulieren einen flachen Elektretausgang von 300 Hz bis 3 kHz, wobei eine 6-dB-Spitze bei 1350 Hz das laute Tonsignal in den Elektret darstellt.

C3, R6, R5, R8 und C5 umfassen einen groben Bandpassfilter, um eine gewisse Selektivität am – Eingang von U3 bereitzustellen, wobei ein Operationsverstärker als Spannungskomparator verwendet wird, dessen Schaltpunkt durch R3 und R4 bestimmt wird.

Wenn im Betrieb das Signal an U3- höher wird als die Referenzspannung an U3+, wird der Ausgang von U3 niedrig, löst U1 aus und erzeugt einen Impuls mit einer Breite von etwa 1,1 R1 C1 und einer Amplitude von etwa 11 Volt in R7 und der LED.

hier ist die Handlung:Geben Sie hier die Bildbeschreibung ein

Sie können sehen, wie der Ausgang des 555 hoch geht und etwa 1 Sekunde lang anhält, wenn die kleine Störung an U3- dazu führt, dass er einen niedrigen Trigger für den 555 erzeugt.

Schließlich sind hier die Dateien, die Sie benötigen, um die LTspice-Simulation auszuführen, wenn Sie möchten. Laden Sie beide Dateien in denselben Ordner herunter und klicken Sie dann mit der linken Maustaste auf die .asc-Datei, um den Schaltplaneditor aufzurufen.

Schema 555

Wie EM Fields bereits sagte, liegt der Bereich der menschlichen Stimme bei ungefähr 300 Hz bis 3 kHz. Sie benötigen wahrscheinlich eine Verstärkung von einigen 100 bis 1000 in diesem Bereich, um Sprachgeräusche auf Mikrocontroller-A/D-Pegel zu bringen, wenn jemand nicht direkt in das Mikrofon spricht.

Ich würde wahrscheinlich nur zwei einfache RC-Filter verwenden, einen Hochpass bei 300 Hz und einen Tiefpass bei 3 kHz. Das Mikro kann dann vielleicht mit 10 kHz abtasten. Das ist ein Sample alle 100 µs, was für ein modernes Mikro eine "lange" Zeit ist, um einen Lautstärkewert zu berechnen, zu entscheiden, ob er über einem bestimmten Schwellenwert liegt, und dann eine LED oder was auch immer entsprechend zum Leuchten zu bringen.

Um ein Maß für die Lautstärke zu berechnen, müssen Sie zuerst den Nullpegel abziehen. Das Signal sollte AC-gekoppelt in den A/D-Eingang sein, der bei 1/2 des A/D-Bereichs von einer DC-Vorspannung schweben sollte. Sie könnten einfach die Hälfte des A/D-Bereichs als feste Zahl verwenden. Das wird ein wenig abweichen, sollte aber für Ihren Zweck gut genug sein. Wenn man zum Beispiel einen 10-Bit-A/D annimmt, wäre der Ruhepegel idealerweise 511,5. In Wirklichkeit könnte es 520 oder 492 oder so sein. Dieser kleine Offset wird deutlich unter Ihrer "lauten" Schwelle liegen, spielt also keine Rolle. Der ausgefallene Weg, dies zu tun, besteht darin, das Signal hochpasszufiltern. Da Sie Rauschen unterhalb von 300 Hz sowieso eliminieren möchten, können Sie diesen Filter in der Firmware statt außerhalb vornehmen.

Sobald Sie den Nullpegel des A/D-Messwerts subtrahieren, haben Sie in jedem Fall ± augenblickliche Abtastwerte. Quadrieren Sie jeden und filtern Sie dann diesen Strom von quadrierten Werten tiefpass. Wahrscheinlich möchten Sie das bei nur wenigen Hz filtern, da Ihr Lautstärkewert so schnell auf Geräusche reagiert, die er aufnimmt. Sie vergleichen diesen Wert mit einem Schwellenwert, um zu entscheiden, ob er über Ihrer Grenze für übermäßige Lautstärke liegt oder nicht.

Das mag kompliziert klingen, ist aber eigentlich ziemlich einfach, und selbst ein kleines Mikro kann bei 100 µs pro Abtastung etwas leisten.

Lassen Sie mich zunächst sagen, dass beide bestehenden Antworten (bisher) auf ein paar falschen Prämissen beruhen.

Zunächst einmal ist es NICHT wahr, dass die meiste Energie in einer menschlichen Stimme in den Bereich von 300-3000 Hz fällt. Was wahr ist, ist, dass diese Frequenzen die wichtigsten für die Verständlichkeit sind , weshalb die Telefongesellschaft die Übertragung auf diese Frequenzen beschränkt. Tatsächlich gibt es unterhalb von 300 Hz eine MENGE Energie, insbesondere bei männlichen Stimmen, und diese Energie trägt am meisten zur wahrgenommenen Lautstärke bei.

Zweitens, wenn man nur den absoluten Pegel des Gesamtklangs betrachtet, kann man nicht gut zwischen Hintergrundgeräuschquellen und Stimmen unterscheiden. Was Sie sich ansehen müssen, sind die kurzfristigen Schwankungen des Schallpegels, wobei diese Schwankungen in den Bereich von 1 bis 10 Hz fallen, was der Rate entspricht, mit der Menschen Silben aussenden. Wenn dies ein übermäßiges Niveau erreicht, sollten Sie Ihre LED anzünden.

Sie sind also auf dem richtigen Weg, wenn Sie den Ausgang eines Mikrofons verstärken und dann digitalisieren, aber die Mikrocontroller-Firmware muss etwas ausgeklügelt sein, um wirklich effektiv zu sein, was Sie wollen.

Können Sie einen Link zur Beziehung zwischen wahrgenommener Lautstärke und der für die menschliche Stimme charakteristischen Frequenz vs. Amplitude posten?