Wie messe ich die Lautstärke?

7

Ich spielte mit einer Idee für ein digitales Musikinstrument mit Atemkontrolle herum. Ich habe erfolgreich mit Drucksensoren experimentiert und sie sind wahrscheinlich der richtige Weg, aber meine erste Idee war nur die Verwendung eines mit Kunststoff versiegelten Mikrofons. Ich bin damit nie weit gekommen, aber ich denke, es hat immer noch Potenzial für die Art von Antwort, die ich möchte.

Die Idee war, dass ein Luftstrom, der auf den Treffer des Mikrofons gerichtet ist, weißliches Rauschen erzeugt (ich denke nur an ein Mikrofon), und ich könnte die Lautstärke dieses Rauschens verwenden, um die ADSR-Hüllkurve für meinen Sound zu erstellen. Wenn Sie das Mikrofon mit Plastikfolie abdecken, funktioniert dies weiterhin und schützt es vor der Feuchtigkeit in Ihrem Atem.

Der größte Teil meiner Elektronikerfahrung ist jedoch digital (von diskret digital im College bis hin zu Mikrocontrollern) und ich bin eher ein Programmierer. Ich ging so weit, das Rauschsignal auf meinem Oszilloskop zu betrachten und zu überprüfen, ob es die Eigenschaften hatte, die ich wollte (um die geglättete, positive Größe des Rauschens als Lautstärke der synthetisierten Töne zu verwenden), und ich weiß, ob ich es bekommen kann Ich kann einen ADC verwenden, um eine digitale Größe zu erhalten. Was mir fehlt, ist das analoge Wissen, die Rauschwellenform in ein variierendes analoges Signal umzuwandeln, das die durchschnittliche positive Größe bei einer ziemlich hohen Abtastrate darstellt.

Irgendwelche Ideen oder Links, um mich anzufangen?

PS
Ich werde nicht wirklich wissen, welche Antwort völlig richtig ist, bis ich experimentiere, aber die Antworten waren bisher großartig. Das VU-Messgerät ist ziemlich nah an dem, was ich brauche, und die Erinnerung, dass die Lautstärke logarithmisch ist, ist ebenfalls nützlich.

Es war möglicherweise einfacher, mein Problem folgendermaßen zu formulieren: Ich möchte einen digitalen Ton (entweder erzeugt oder über MIDI) steuern, bei dem die "Lautstärke" des Tons proportional zur Intensität des durch Blasen auf dem Mikrofon erzeugten Klangs ist macht keinen Sinn mehr.

cmpalmer
quelle
Können Sie einen Screenshot (oder eine Zeichnung) Ihrer Scope-Ablaufverfolgung veröffentlichen? Dies ist eine ganz andere Frage, wenn Sie mit Sinuskurven oder Signalen mit hohen Spitzen arbeiten. Wenn es sich nur um eine Sinuskurve handelt, verstärken Sie sie einfach und lassen Sie sie durch einen Brückengleichrichter laufen. Geben Sie sie an eine kleine Kappe und einen Drain-Widerstand aus, um ein nahezu Gleichstromsignal zu erhalten.
Kevin Vermeer

Antworten:

7

Die Lautstärke ist grob mit der RMS-Amplitude korreliert , nicht mit der Spitzenamplitude

  1. Probieren Sie den Eingang regelmäßig aus und zeichnen Sie die Samples im Speicher auf
  2. Nehmen Sie ein Stück Proben und quadrieren Sie jedes
  3. Nehmen Sie den Durchschnitt aller resultierenden Werte
  4. Quadratwurzel

Sie können dies wahrscheinlich vereinfachen, je nachdem, wie viel Genauigkeit Sie benötigen.


Oh warte, du willst einen analogen Ausgang. Sie können die Welle durch einen Präzisionsgleichrichter ( Schaltpläne ) führen, um den Absolutwert zu erhalten, und dann mit einem RC-Filter filtern, um ihre Hüllkurve zu erhalten, wie in der Schaltung, die zu Pin 5 dieses Schaltplans führt . Anstelle dieses IC wäre Pin 5 der ADC Ihres Mikros. Es ist kein Effektivwert, aber es zeigt Ihnen die ungefähre Lautstärke. So funktionieren die meisten VU-Messgeräte .

Endolith
quelle
Nun, letztendlich möchte ich eine digitale Ausgabe, damit das funktioniert. Ich war nur besorgt über die erforderliche Abtastrate.
cmpalmer
Wenn Sie mit einer niedrigeren Rate abtasten, erfassen Sie nur niedrigere Frequenzen (von DC bis zur Hälfte der Abtastfrequenz). Wenn Sie nur jemanden einfangen möchten, der in ein Mikrofon bläst, ist das wahrscheinlich gut genug.
Endolith
3

Sie benötigen einen logarithmischen Verstärker oder einen logarithmischen Verstärker .

Die Lautstärke wird in Dezibel gemessen. Was für einen Menschen nach einer linear ansteigenden / abnehmenden Lautstärke klingt, entspricht tatsächlich exponentiellen Änderungen der akustischen Energie.

Sie können dies tun, indem Sie ICs von der Stange kaufen (z. B. LT5537 von Linear Tech ). Oder Sie können es selbst mit Operationsverstärkern, Widerständen, Dioden und Transistoren tun. Transistoren haben eine sehr schöne logarithmische Beziehung zwischen Kollektorstrom und Basisspannung über 5 oder 6 Jahrzehnte Strom (normalerweise von 10s - 100s von nA bis 1-10mA) und können mit Operationsverstärkern kombiniert werden, um einen Strom oder eine Spannung in zu verwandeln ein logarithmischer Spannungsausgang (siehe diese Website für eine Schaltung entlang mit schicken Wellenformgrafiken). Sie müssen zuerst einen eigenen Wellenform-zu-RMS-Detektor haben und dann das Ergebnis in einen Protokollverstärker einspeisen.

Wenn Sie keinen Log-Verstärker verwenden, ist der Dynamikbereich durch die Auflösung + Linearität + Nullpunktverschiebung des verwendeten ADC begrenzt, die möglicherweise nur 20 bis 30 dB beträgt.

Jason S.
quelle
1

Ich empfehle Ihnen, das Signal auf einen Pegel im Bereich von 0 V bis 3,3 V zu verstärken und dieses in den ADC Ihres Mikrocontrollers einzuspeisen. Es muss ein ziemlich schneller digitaler Signalprozessor verwendet werden. Ich empfehle so etwas wie einen dsPIC33F. Sobald das analoge Signal funktioniert, sollte die digitale Seite angesichts Ihrer digitalen Kenntnisse nicht zu hart sein.

Thomas O.
quelle
Schneide ich also nur die negative Seite des Signals ab und mittle dann die Maximalwerte, während sie abgetastet werden, oder verarbeite ich das Signal vor dem ADC-Schritt weiter? Ich denke, was ich wirklich suche, ist das Rauschen als amplitudenmoduliertes Signal zu behandeln und zu versuchen, das Signal zu extrahieren. Ist das sinnvoll?
cmpalmer
Es hängt davon ab, wie viel Geschwindigkeit Sie benötigen. Wenn Sie das Lautheitssignal direkt abtasten, können Sie ausgefallene Dinge wie RMS-Berechnungen, FFTs und eine höhere Signalbandbreite ausführen, sodass es schnell auf Änderungen reagieren kann. Wenn Sie das Signal filtern (z. B. die Spitzen erkennen), können Sie ein kleineres Mikro verwenden.
Thomas O