DFT - Entfernen des Fenstereffekts im Spektralbereich mit Faltung


11

Ich dachte über das Thema DFT-Fensterung nach und kam mir in den Sinn. Eine DFT liefert das Spektrum eines Signals, das mit dem Spektrum des verwendeten Fensters gefaltet ist und daher Haupt- und Nebenkeulen aufweist.

Ich dachte, es wäre möglich, den Fenstereffekt auf das Spektrum des Signals zu entfernen, indem sowohl das Signal als auch die Größe des Fensterspektrums erneut gefaltet werden, und es funktionierte tatsächlich, wie Sie auf dem folgenden Bild sehen können.

Geben Sie hier die Bildbeschreibung ein

Links ist das ursprüngliche Spektrum, das mit einem Hanning-Fenster erzeugt wurde. Rechts ist das Spektrum, das durch die DFT eines Hanning-Fensters gefaltet wird. Oben ist das Spektrum selbst, unten ist das MATLAB- findpeaksErgebnis.

Ich habe nie etwas über diese Technik gelesen, aber ich bin mir ziemlich sicher, dass ich dort nichts erfunden habe. Ich frage mich also, ob es einen Vorteil hat, diese Verarbeitung im Spektrum durchzuführen, oder ob es einen Nachteil gibt, den ich nicht sehe.

Soweit ich weiß, könnte dies zur Erkennung von Spitzenwerten beitragen, wie wir auf dem vorherigen Bild sehen können. Es sieht auch so aus, als ob das Spektrum etwas verzerrt ist, wie wir auf den beiden folgenden Bildern sehen können. ::

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Wobei der blaue Graph das Spektrum und der rote Graph das nachgefaltete Spektrum ist.

  • Hast du darüber nachgedacht?
  • Gibt es ein Problem, das sich aus dieser Faltung nach der FFT ergeben könnte?
  • Irgendein Papier, das das Thema behandelt?

BEARBEITEN

Sie können ein Skript finden hier , dass die folgende Grafik erzeugen:

Geben Sie hier die Bildbeschreibung ein


1
Könnten Sie den Code angeben, mit dem Sie die Figuren gezeichnet haben? Ich gehe davon aus, dass die Glätte der gefalteten Funktion nur eine Frage der Auflösung ist. Sie können nicht mehr rückgängig machen den Windowing durch Falten noch ein weiteres Mal mit dem gleichen Fenster (Sie tatsächlich benötigen würden de convolve, das , was die Antwort von RBJ ist bezieht sich auf). Darüber hinaus wäre eine echte Verbesserung eine erhöhte Frequenzauflösung und / oder eine erhöhte Nebenkeulenunterdrückung, von denen hier keine erreicht wird. Das Finden der "richtigen" Peaks ist für beide Funktionen relativ einfach.
Matt L.

Ich habe gerade meinen Beitrag bearbeitet, um ein Beispiel für Code hinzuzufügen.
Pier-Yves Lessard

Antworten:


1

Ihr Vorschlag hat in der Tat einen Nachteil: Die von Ihnen angezeigten Signale sind alle sehr klar in ihre Frequenzkomponenten unterteilt, aber im Allgemeinen sind reale Signale tendenziell verrauscht.

Je nach Anwendung möchten Sie möglichst viel Leckdämpfung (höhere Hauptkeulen / kleinere Nebenkeulen einer Signalfrequenz im transformierten Spektrum) oder als weiteres Beispiel die engstmögliche Hauptkeule.

In Ihren Darstellungen ist zu sehen, dass das Glätten der Magnitudenspektren mit einem Fenster das Gegenteil davon bewirkt: Die Hauptkeulen werden breiter und kleiner, während Leckageprodukte durch die Umwandlung eines endlichen Zeitsignalgewinns an Leistung entstehen. Bei verrauschten Signalen würde dies einen erheblichen Nachteil ergeben.

Ihr Vorschlag ist jedoch immer noch sehr nützlich für die Identifizierung von Spitzenwerten!


1

Ich bleibe dem Thema "Entfernen des Fenstereffekts im Frequenzbereich durch Faltung" treu (obwohl das OP vielleicht etwas anderes oder ähnliches erreichen wollte) und möchte meinen Kommentar hinzufügen, der persönliche Erfahrungen mit diesem speziellen Thema hat.

Oft habe ich die Notwendigkeit, ein Hann-Fenster im Frequenzbereich zu entfernen, indem ich in einem STFT-Framework arbeite, das standardmäßig Hann-Fensterrahmen verwendet, um eine erweiterte Spektralverarbeitung durchzuführen, bei der das Eingangsspektrum stattdessen als NON-Fenster erwartet wird (z. B. überlappungssichernde Faltung oder Filterung).

Mit einem Wort: Ja, das kannst du. Obwohl das mathematische Entfernen eines Fensters (entweder im Zeit- oder im Frequenzbereich) die Rekonstruktion von Daten impliziert, die für immer verloren gehen, können Sie dies in der Praxis mit einem wahrscheinlich minimalen Verlust tun.

Nehmen wir ein Hann-Fenster (Rised Cosine). Seine Zeitbereichsformel lautet y = (1-cos (pi * x)) / 2, wobei x von null bis eins bis eins reicht. Die entsprechende Frequenzbereichsdarstellung ist bin0 = (0,5,0i), bin1 = (- 0,5,0i). Um seinen Effekt im Zeitbereich zu entfernen, möchten Sie das Signal möglicherweise einfach durch die oben genannte Fensterfunktion teilen. Um dasselbe im Frequenzbereich zu tun, können Sie einfach das Spektrum, das nicht mit Fenstern versehen ist, mit dem Spektrum des Kehrwerts dieser Funktion falten. Da diese Funktion an beiden Enden Null ist (tatsächlich ist sie nur am ersten Punkt mathematisch Null, es sei denn, es handelt sich um Rundungsfehler), können Sie zur Vermeidung der Unendlichkeit einfach die Unendlichkeit mit einem großen Wert wie etwa 10000 austauschen. Das Ergebnis einer solchen Faltung ist das Spektrum ohne Fenster. Durch Konvertieren in den Zeitbereich zurück,

Vielleicht können Sie ein rechteckiges Fenster jedoch nicht entfernen, da die Datenmenge, die durch Multiplizieren großer Bereiche des Signals mit Null verloren geht, theoretisch nicht wiederhergestellt werden kann. Aber ich denke, das hängt vom Spektruminhalt ab. Wenn es sich beispielsweise um das Spektrum einer einfachen Sinuskurve handelt, entfernen Sie das rechteckige Fenstermuster, indem Sie es mit dem Spektrum einer Funktion falten, die einen hohen Wert aufweist, bei dem das Rechteck Null war, und einen Wert, bei dem es Eins war (dh seinen Kehrwert). Sie können vielleicht immer noch (im Wesentlichen) das Spektrum einer Sinuskurve erhalten, um das gesamte Signal zu rekonstruieren.


0

Es ist eine gute Frage und ein guter Einblick, von dem ich mir ziemlich sicher bin, dass andere ihn hatten. die de -convolution in der Frequenzdomäne ist in der Zeitdomäne wie Multiplikation , und wenn Sie die Wirkung eines Hann - Fenster in der Frequenzdomäne sind Entfalten, es ist wie Ihre Dividieren durch die Wirkung des Hann - Fensters im Zeitbereich. An den Schwänzen, an denen das Hann-Fenster auf Null geht, wird durch eine zu kleine Zahl geteilt, um sich Sorgen zu machen.

Normalerweise bleibt der Fenstereffekt erhalten, da Sie beim Zurücktransformieren möglicherweise den Fenstereffekt im Zeitbereich wünschen. oder wenn Sie nie zurück transformieren (dies ist eine Analyse- oder Modellierungsalge und keine Modifikationsalge), dann interessieren Sie sich nur für Parameter, die Eigenschaften dieser Peaks sind, und Sie beschäftigen sich nur mit dem bekannten Effekt der Faltung mit einem bekannten Kernel und das könnte einen extrahierten Parameter auf deterministische Weise modifizieren. dann kompensieren Sie dies einfach in Ihrem extrahierten Parameter.

Je nachdem, was Sie tun, sollten Sie ein Guassian-Fenster für die Analyse verwenden. hat nur ein sehr geringes Nebenkeulenproblem und unter linearen Bedingungen (wie bei einem Filter) behält jede Sinuskurve mit Fenster die Fensterform bei, wenn sie in den Zeitbereich zurücktransformiert wird. Dieses Fenster kann rückgängig gemacht und ein Hann-Fenster angewendet werden, nachdem es wieder in den Zeitbereich umgewandelt wurde.


6
Grundsätzlich stimme ich Ihren Aussagen zu. Das OP spricht jedoch nicht von Entfaltung, sondern von der Faltung des erhaltenen Spektrums mit dem Spektrum des Hanning-Fensters. (dh im Wesentlichen Fenster mit einem Hanning-Square-Fenster)
Maximilian Matthé

1
Nein, das OP spricht davon , den Effekt zu entfernen und nicht zu verdoppeln . Division ist dasselbe wie Multiplikation mit dem Kehrwert. Es wird mit einer solchen Zahl multipliziert, die das Ergebnis ergibt, das wir als Quotienten bezeichnen . Da das Falten in einer Domäne dasselbe ist wie das Multiplizieren in der anderen Domäne, ist die Entfaltung dasselbe wie das Falten mit etwas speziell Bestimmtem.
Robert Bristow-Johnson

2
Das OP spricht über das Entfernen der Wellen, indem eine Faltung des erhaltenen Spektrums mit dem Spektrum des Fensters durchgeführt wird. Dies ergibt eine Multiplikation des Signals mit dem quadratischen Fenster (ein Fenster aus der anfänglichen zeitlichen Multiplikation, das zweite aus der Frequenzfaltung)
Maximilian Matthé

1
Nun, nicht genau. Ich mache eine Faltung der Größen des Spektrums, die sich aus der Multiplikation des quadratischen Fensters ergeben. Ich bin mir nicht sicher, was es mathematisch darstellt ... Ich sehe es als Kreuzkorrelation zwischen beiden Spektrumsgrößen (da Fensterspektren symmetrisch sind).
Pier-Yves Lessard

0

Die Technik, mit der Sie das Spektrum geglättet haben, wird häufig bei der Analyse des Spektrums selbst verwendet, und Sie kümmern sich nicht um die Auswirkungen im Zeitbereich (z. B. frequenzbasierte Signalerkennung oder Bandbreitenmessung). Es ist nicht einmal erforderlich, dass das zum Glätten verwendete Fenster mit dem im Zeitbereich verwendeten Fenster übereinstimmt. Einer der Hauptgründe für die Verwendung eines Zeitbereichsfensters vor der DFT besteht darin, die Diskontinuität in der Umlaufbahn zu minimieren, die die DFT an den Enden des Signals annimmt (die DFT ist von Natur aus kreisförmig). Der Zweck der Glättung im Frequenzbereich besteht darin, Analysen wie die Peakerkennung oder die Bandbreitenmessung zu erleichtern. Das "beste" Fenster für das eine ist möglicherweise nicht das "beste" Fenster für das andere. Tatsächlich habe ich noch nie die DFT eines Fensters gesehen, das zur spektralen Glättung verwendet wird.


Ich verstehe es so, dass ich eine Kreuzkorrelation mit dem Spektrum mache, bevor ich Spitzen in der Mitte der Hauptkeulen bekomme. Die Verwendung der Zeitbereichsfenster scheint die naheliegende Wahl zu sein, und ich verstehe nicht, warum ich eine Kreuzkorrelation zwischen Boxcar-Fenstern verwenden würde, um herauszufinden, wo sich das Hanning-Fensterspektrum befindet. Warum sollten wir etwas anderes als dasselbe Fenster wollen?
Pier-Yves Lessard

Ja, das Ergebnis, das Sie beschreiben, ist eine Faltung mit der Autokorrelation des Fensters, aber das ist nur eine Faltung mit einem anderen Fenster. Die Autokorrelation führt zu einem SEHR engen Peak bei Gleichstrom. So haben Sie das Signalspektrum effektiv mit einem sehr engen Tiefpassfilter gefaltet. Es ist der Frequenzgang dieses Filters, der Ihnen das Ergebnis liefert, das Sie sehen, nicht die Tatsache, dass es sich um eine Autokorrelation handelt. Die Tatsache, dass es sich um eine Autokorrelation handelt, ist Zufall.
Cassman
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.