1 / n Oktavglättung


8

Bei einem mit FFT erhaltenen Frequenzgang möchte ich eine 1 / n-Oktavglättung anwenden. Welchen Filter soll ich verwenden und wie? Vielleicht könnte jemand auf eine gute Referenz verweisen (ein Papier oder ein Buch zu diesem Thema).


Suchen Sie einen Pinking-Filter , der die Frequenz auf die Amplitude 1 / f dämpft ? Oder wollen Sie wirklich etwas, das die Frequenz f auf die Amplitude 1 / ( lg 2 f ) dämpft ? f1/.ff1/.(lg2f)
Wandering Logic

1
Ich möchte keine Frequenzen dämpfen. Ich möchte, dass die Daten mit einer variablen Bandbreite geglättet werden, dh 1 Oktave, 1/3 einer Oktave usw.
Psirus

1
Die Frequenzgänge der Lautsprecher werden in der Regel geglättet, um die Interpretation des Diagramms zu vereinfachen, aber dennoch recht genau (1/20-Oktave geglättet), oder beispielsweise im Marketing mit sehr hoher Glättung (1/3-Oktave). Das habe ich schon oft gelesen, was genau gemeint ist, versuche ich hier herauszufinden.
Psirus

1
Bei Ihrer Frage geht es also nicht darum, ein Signal per se zu ändern, sondern darum, wie der Frequenzgang eines Geräts grafisch dargestellt wird. Ist das richtig?
Jim Clay

1
Ich denke, dieser Artikel enthält wertvolle Informationen. Es ist jedoch leider nicht kostenlos. Der grundlegende Ansatz wird auch in diesem beschrieben .
Apfelmus

Antworten:


8

Typischerweise bedeutet "Glätten" "Ersetzen des aktuellen Werts durch den Durchschnitt über den benachbarten". Am gebräuchlichsten ist die Energieglättung, bei der die Glättung über das Glättungsintervall zum Energiedurchschnitt führt und die Phaseninformationen verloren gehen. Komplexe Glättungen können ebenfalls durchgeführt werden, sind jedoch aufgrund der Phasenumhüllung schwierig.

Die Energieglättung kann ausgedrückt werden als

Y.(k)=1N.ich=0N.- -1X.(ich)X.(ich)W.k(ich)

wobei eine geeignete Fensterfunktion ist. Im Fall einer Glättung der dritten Oktave könnte dies als das Quadrat der Größe der Übertragungsfunktion eines Bandpassfilters der dritten Oktave um die Frequenz k abgeleitet werden. Dies bedeutet auch, dass Sie für eine beispielsweise 1024-Punkt-FFT 1024 verschiedene Bandpassfilter entwerfen müssen, das ist also ein gutes Stück Arbeit.W.k(ich)

Dinge können vereinfacht werden, wenn die genaue Form des Glättungsfilters flexibel ist. Die rechteckige Glättung kann erfolgen als

Y.(k)=1b- -ein+1ich=einbX.(ich)X.(ich)

ein=rÖund(k2- -12n),b=rÖund(k212n)

nth

Es gibt einige weitere Methoden, die in Bezug auf die Komplexität im beliebigen Fenster und im rechteckigen Fenster liegen.


Ich versuche dies in C-Code zu implementieren, und ich fürchte, ich verliere mich ein wenig in der Notation. Es fällt mir schwer zu verstehen, wie zum Beispiel die Summe von i von a nach b funktioniert. Jede Unterstützung geschätzt.
Andrew Smith

Zwei Daumen, aber leider nur eine Stimme. In dieser zusätzlichen Frage wird gefragt, wie eine 1 / n-Komplexglättung durchgeführt wird, einschließlich des kniffligen Geschäfts mit dem Phasenwickeln.
SpeedCoder5
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.