Wie kritisch ist die Auswahl der Fensterfunktion in STFTs?


8

Ich habe eine Summe von periodischen Signalen, die ich mithilfe der Zeit-Frequenz-Analyse zu entwirren versuche. Ich scheine je nach Fensterlänge und -form sehr unterschiedliche Ergebnisse zu erzielen. Dies ist ein Problem, da ich einen automatisierten und hoffentlich sequentiellen Algorithmus entwickeln möchte, um die Aufgabe zu erledigen.


2
Siehe auch : dsp.stackexchange.com/q/208/77 (Ich würde sogar sagen, dass es ein Betrüger ist)
Lorem Ipsum

Ich habe diese Frage nicht gesehen. Ich würde Sie auf Yodas Antwort dort verweisen, um gute zusätzliche Details zu erhalten, die meine Antwort unten ergänzen.
Jason R

1
Welches der völlig unterschiedlichen Ergebnisse ist Ihrer Meinung nach richtig und warum?
hotpaw2

Antworten:


4

Fensterfunktionen haben einen inhärenten Kompromiss zwischen zwei ihrer Eigenschaften im Frequenzbereich:

  • Hauptkeulenbreite: Jede sich verjüngende Fensterfunktion verursacht ein "Verschmieren" im Frequenzbereich. Dies wird durch die Breite des Mittellappens im Frequenzgang der Fensterfunktion sichtbar. Je breiter die Hauptkeule ist, desto schwieriger ist es, zwei Töne aufzulösen, deren Frequenz nahe beieinander liegt (wenn sie näher beieinander liegen als die Breite der Hauptkeule, neigen sie dazu, zusammen zu verschmieren). Idealerweise möchten Sie eine Fensterfunktion mit einer sehr schmalen Hauptkeule haben.

  • Maximale Nebenkeulenhöhe: Viele Fensterfunktionen haben Frequenzgänge, die aus einer einzelnen Hauptkeule bestehen, die von wiederholten Nebenkeulen umgeben ist, die mit einer bestimmten fensterspezifischen Rate abfallen. Die Höhe dieser Nebenkeulen kann es schwierig machen, zwei Töne aufzulösen, die in der Frequenz getrennt sind, sich jedoch in der Amplitude stark unterscheiden. Idealerweise möchten Sie eine Fensterfunktion mit sehr niedrigen Nebenkeulen haben.

Das Problem: Wenn Sie die Hauptkeulenbreite einer Fensterfunktion verringern, wachsen die Nebenkeulen und umgekehrt. Daher müssen Sie bei der Auswahl eines Fensters eine anwendungsspezifische Balance finden, die auf den Abständen in Frequenz und Amplitude basiert, die Sie zwischen Ihren interessierenden Signalen erwarten. Bei bestimmten Parametern Ihres Systems können Sie ein Fenster auswählen, das (hoffentlich) Ihren Anforderungen entspricht.

Wenn Sie die Länge Ihres Fensters auswählen (was der Auswahl der Länge der DFT entspricht), sollten Sie Ihre Beobachtung so lange wie möglich innerhalb der Einschränkungen durchführen, die Ihre Anwendung möglicherweise auferlegt (z. B. Latenzanforderungen, wie lange) Die interessierenden Signale können als stationär, Rechenressourcen usw. betrachtet werden. Ihre Fähigkeit, die Frequenz aufzulösen, ist direkt proportional zur Beobachtungslänge (gemessen in der Zeit, nicht unbedingt basierend auf der FFT-Länge, die ohne Verbesserung der Frequenzauflösung auf Null aufgefüllt werden kann).


1

Die Fensterlänge sollte von der Frequenzänderung Ihres Signals abhängen. Sie sollten ein Fenster so kurz einstellen, dass ungefähr konstante Spektren Ihres Signals in diesem Fenster erfasst werden.

Wenn Sie wissen möchten, inwieweit Ihr Signal einer Form ähnlich ist, sollten Sie eine Wavelet-Transformation ( CWT ) verwenden.


1

Für das, was es wert ist, fand ich aus praktischer Sicht, dass Kaiser-Fenster sehr nützlich sind. Es gibt einen einzigen Parameter, mit dem Sie die Hauptkeulenbreite im Vergleich zur Nebenkeulenabschwächung einstellen können. In Bezug auf die meisten Metriken ist ein richtig angepasstes Kaiser-Fenster genauso gut oder besser als jeder seiner Cousins.

Als (sehr unwissenschaftliche) Faustregel können Sie den "Beta" -Parameter als das 0,133-fache der gewünschten Nebenkeulendämpfung in dB bestimmen. Dies kann verwendet werden, um einen schnellen Ausgangspunkt zu erhalten und von dort aus zu optimieren.

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.