Wie optimiere ich die Fensterlängen in STFT?


12

Ich habe viele EEG-Signale und möchte sie mit linearen Methoden wie STFT (Short Time Fourier Transform) analysieren. Wie kann ich in STFT die Länge des Analysefensters optimieren, um das Frequenzspektrum jedes Analysefensters ordnungsgemäß wiederzugeben?


Wenn Sie etwas optimieren wollen, brauchen Sie eine objektive Maßnahme. Ihre Frage sagt nicht wirklich aus, wie Sie die "optimale" Fensterlänge messen. Was meinen Sie damit, das Frequenzspektrum "richtig" abzubilden?
Jason R

@ Maen: willst du eeg signale analysieren um was damit zu machen?
Sriram

Abstimmungen und die Bestätigung der besten Antworten sind erforderlich
Laurent Duval

Antworten:


5

Dies ist das klassische "Unsicherheitsprinzip" der Fourier-Transformation. Sie können entweder eine hohe zeitliche Auflösung oder eine hohe Frequenzauflösung haben, aber nicht beide gleichzeitig. Die Fensterlängen ermöglichen es Ihnen, zwischen den beiden auszutauschen.

Wenn Sie "Ereignisse" in Ihrem EEG-Signal mit einer Auflösung von beispielsweise 10 ms erkennen möchten, sollte dies Ihre Fensterlänge sein. Dies ergibt eine Frequenzauflösung von ca. 100 Hz.


3

Die optimale Fensterlänge hängt von Ihrer Anwendung ab. Wenn Ihre Anwendung so konzipiert ist, dass Sie Zeitbereichsinformationen benötigen, um genauer zu sein, reduzieren Sie die Größe Ihrer Fenster. Wenn die Anwendung eine genauere Angabe der Frequenzdomänen erfordert, vergrößern Sie die Fenster. Wie Hilmar schon sagte, hat man Uncertainty Principlewirklich keine andere Wahl. Sie können nicht in beiden Domänen gleichzeitig eine perfekte Auflösung erzielen. Sie können eine perfekte Auflösung in nur einer Domäne erzielen, und zwar zum Preis einer Auflösung von Null in der anderen (Zeit- und Frequenzdomäne) oder einer Auflösung zwischen zwei Domänen, jedoch in beiden Domänen.

Ich weiß nicht, ob dies Ihre Frage beantwortet, da Sie speziell nach STFT gefragt haben. Sie könnten versuchen wavelet transforms, an die Informationen im Signal zu gelangen. Wavelet transformsSie erhalten eine Auflösung über einen viel größeren Bereich, indem Sie das Signal bei mehreren Fensterauflösungen analysieren.


0

Ich kenne das EEG nicht, aber das grundlegende Problem bei der Verwendung der STFT ist die Auswahl einer geeigneten Fensterlänge. Wenn Ihr EEG periodisch ist und Sie die Grundschwingungen und Harmonischen auflösen möchten, sollten Sie ein "langes" Fenster verwenden. Wenn Sie stattdessen das Einsetzen oder Vorhandensein eines Ereignisses erkennen möchten oder sich mehr für die Hüllkurve des Spektrums interessieren, können Sie ein "kurzes" Fenster verwenden.


0

Ich habe viel Zeit damit verbracht, Fenster in Zeit-Frequenz-Analysen oder Filterbanken zu optimieren . Man kann sie für Erkennung, Rauschunterdrückung, Signaltrennung optimieren ... Es ist sehr abhängig von der Anwendung. Da die Zeit-Frequenz-Analyse in der Regel redundant ist, sind die Optimierung von Analyse- oder Synthesefenstern unterschiedliche Aufgaben. Und Länge nur ein Parameter im Fensterdesign.

Das Problem ist noch komplexer, da die diskretisierte Formulierung der Optimalität viel komplizierter ist als der kontinuierliche Fall des Zeitbereichs (siehe z. B. Eine optimal konzentrierte Gabor-Transformation für lokalisierte Zeit-Frequenz-Komponenten ).

Meine derzeitige Faustregel lautet: Beginnen Sie mit einer Fensterform und -länge, die in Ordnung zu sein scheint. Wiederholen Sie dann die Analyse mit zwei Fenstern mit doppelter und halber Länge und kombinieren Sie die Ergebnisse.


-1

Normalerweise ergibt eine große Fenstergröße eine bessere Frequenzauflösung, aber eine schlechte Zeitauflösung und umgekehrt. Schauen Sie sich dieses Beispiel an, in dem ich aus meinem C ++ - Code ein Spektrogramm einer Sinuswelle mit 5 kHz und einer Abtastrate von 22050 Hz erstellt habe.

Bildbeschreibung hier eingeben

Das obige Spektrogramm hat eine Fenstergröße von 2048 Abtastwerten und eine Überlappung von 1024 Abtastwerten.

Schauen Sie sich dieses Spektrogramm an:

Bildbeschreibung hier eingeben

Dieser hat eine Fenstergröße von 512 Abtastwerten und eine Überlappung von 256 Abtastwerten.

Kannst du den Unterschied sehen? Der erste hat eine bessere Frequenzauflösung als der zweite. Aber die zweite hat eine bessere Zeitauflösung als die erste. Die Auswahl der Fenstergröße hängt also von Ihrer Anwendung ab. Wenn Sie mit Sprachmustern arbeiten, um die Tonhöhe zu verfolgen, sollte die Auswahl eines größeren Fensters die richtige sein.


Einfache Sinuswelle ist nicht gut für die Erklärung der Frequenzauflösung. Sogar Sweep Sinus ist dafür besser.
Jojek

Was für ein Input wäre Ihrer Meinung nach gut?
Vishnu

Das habe ich oben schon erwähnt.
Jojek

Du meinst Sweep Sinus ?. Gibt es ein anderes Signal, das ich verwenden kann? Ich habe eine Präsentation über Spektrogramme und möchte in meiner Folie über Fenster ein paar gute Dinge anzeigen. Würde mich über Tipps
freuen
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.