A-Gewichtung anwenden


11

Ich möchte die Lautstärke eines bestimmten Signals berechnen und bin auf diesen Thread gestoßen . Ich bin etwas verwirrt über den A-Gewichtungsaspekt. Ich kann keine Bilder posten, aber ich denke, diese Seite hat die Formel, die ich brauche. (Wa = 10log ...)

Was ich nicht verstehe, ist, wie man es tatsächlich in meinem Programm verwendet. Wenn das ffür Frequenz steht, kann ich die Werte vermutlich fest codieren, da sie konstant bleiben. Wenn dies der Fall ist, wie wende ich es Waauf meine Beispielwerte an und welche Werte verwende ich? Berechne ich das Leistungsspektrum, um WINDOW_SIZE/2Werte zu erhalten und jeden Wert im Frequenzband mit dem relevanten vorberechneten WaWert zu multiplizieren, oder ist das die falsche Vorgehensweise? Vielen Dank im Voraus.

Antworten:


8

Ja, Sie könnten die Werte fest codieren, eine FFT Ihres Signals durchführen und mit den fest codierten Werten multiplizieren und dann die Amplitude im Frequenzbereich aus dem Satz von Parseval ( Beispiel ) erhalten.

Sie können auch einen digitalen Filter implementieren und dies im Zeitbereich tun. Hier ist Matlab-Code und meine Übersetzung nach Python .

Beachten Sie, dass die bilineare Transformation bewirkt, dass der digitale Filter schneller abfällt als der analoge Filter, was zu Messfehlern bei üblichen Abtastraten führt. Eine einfache Lösung besteht darin, zuerst die Daten zu aktualisieren, damit die Diskrepanz minimiert wird. Weitere Ansätze für das Filterdesign finden Sie hier: http://dsp.stackexchange.com/q/36077/29


Danke, ich verstehe es ein bisschen besser. Ist in Ihrem Parseval-Beispiel rms_flat die RMS-Gleichung (SQRT(x1^2 + x2^2...xn^2/n))und was ist der Unterschied zwischen rms_flat des Signals und rms_flat der FFT?
TryNCode

@ExpAns: Ja, rms_flat()ist nur sqrt(mean(absolute(a)**2)). Das /nist außen. Der Effektivwert von Signal und FFT ist bis auf einen Skalierungsfaktor gleich.
Endolith
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.