Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Wavelet-Synchrosqueezing

Was versteht man unter Wavelet-Synchrosqueezing?

Die Wavelet-Synchrosqueezing-Transformation ist eine Methode der Zeit-Frequenz-Analyse, die sich für die Analyse von Mehrkomponentensignalen mit Schwingungsmoden eignet. Beispiele für Signale mit Schwingungsmoden sind Sprachwellenformen, Maschinenvibrationen und physiologische Signale. Viele dieser realen Signale mit Schwingungsmoden lassen sich als Summe von amplitudenmodulierten und frequenzmodulierten Komponenten darstellen. Ein allgemeiner Ausdruck für diese Arten von Signalen mit summierten Komponenten ist

k=1KAk(t)cos(2πϕk(t)),

Hierbei ist Ak(t) die langsam variierende Amplitude und ϕk(t) die Momentanphase. Eine abgeschnittene Fourier-Reihe, bei der Amplitude und Frequenz nicht mit der Zeit variieren, ist ein Sonderfall dieser Signale.

Die Wavelet-Transformation und andere lineare Zeit-Frequenz-Analysemethoden zerlegen diese Signale in ihre Komponenten, indem sie das Signal mit einem Wörterbuch von Zeit-Frequenz-Atomen korrelieren [1]. Die Wavelet-Transformation verwendet parallel verschobene und skalierte Versionen eines Mutter-Wavelets als Zeit-Frequenz-Atome. Alle diese Zeit-Frequenz-Atome weisen eine gewisse Zeit-Frequenz-Streuung auf, die die Genauigkeit der Signalanalyse beeinflusst.

Die Wavelet-Synchrosqueezing-Transformation ist eine Zeit-Frequenz-Methode, die die Signalenergie in der Frequenz neu zuweist. Diese Neuzuweisung kompensiert die durch das Mutter-Wavelet verursachten Streueffekte. Im Gegensatz zu anderen Methoden zur Zeit-Frequenz-Neuzuweisung wird beim Synchrosqueezing die Energie nur in Frequenzrichtung neu zugewiesen, wodurch die zeitliche Auflösung des Signals erhalten bleibt. Durch die Beibehaltung der Zeit kann der inverse Synchrosqueezing-Algorithmus eine genaue Darstellung des ursprünglichen Signals rekonstruieren. Um Synchrosqueezing anwenden zu können, muss jeder Term im Signalausdruck der summierten Komponenten eine IMT-Funktion (Intrinsic Mode Type) sein. Einzelheiten zu den Kriterien, die IMTs ausmachen, finden Sie unter [2].

Wavelet-Synchrosqueezing-Algorithmus

Schritte des Synchrosqueezing-Algorithmus

  1. Wählen Sie ein analytisches Wavelet ψ(t) aus. Für die Verwendung mit Synchrosqueezing muss die CWT ein komplexwertiges Wavelet verwenden, um die Momentanfrequenzinformationen zu erfassen.

  2. Ermitteln Sie mithilfe des Wavelets die CWT des Eingangssignals f(t): Wψf(s,u). Die Variablen s und u geben die Skalierungs- und Translationsparameter an.

  3. Extrahieren Sie mithilfe einer Phasentransformation, ωf, die Momentanfrequenzen aus der CWT-Ausgabe. Diese Phasentransformation ist proportional zur ersten Ableitung der CWT in Bezug auf u.

    ωf(s,u)=i[2πWψf(s,u)]1uWψf(s,u).

    Die Skalierungen sind definiert als s=ω0ω, wobei ω0 die Spitzenfrequenz des Wavelets und ω die Frequenz ist.

  4. „Komprimieren“ (Squeeze) Sie die CWT über Regionen, in denen die Phasentransformation konstant ist. Der resultierende Momentanfrequenzwert wird einem einzigen Wert im geometrischen Schwerpunkt der CWT-Zeit-Frequenz-Region zugewiesen. Diese Neuzuweisung führt zu einer genaueren Ausgabe der Synchrosqueezing-Transformation im Vergleich zur CWT.

Wie bereits beschrieben, werden beim Synchrosqueezing die kontinuierliche Wavelet-Transformation (CWT) und ihre erste Ableitung in Bezug auf die Translation verwendet. Die CWT ist invertierbar, und da die Synchrosqueezing-Transformation die Eigenschaft der Invertierbarkeit von der CWT übernimmt, kann das Signal rekonstruiert werden.

Darstellung: Momentanfrequenzextraktion

Sie können die CWT der Funktion f(t) bezogen auf das Wavelet ψ(t) im Hinblick auf die inverse Fourier-Transformation des Produkts der Fourier-Transformation der Funktion und der Fourier-Transformation des Wavelets ausdrücken:

Wψf(s,u)=e2πiωuf^(ω)ψ^(sω)¯dω,

wobei der Balken über ψ^(sω) den komplexen konjugierten Wert bezeichnet.

Gehen Sie von einem einfachen komplexen Exponenten, f(t)=e2πiαt, aus. Gehen Sie zum Extrahieren der Momentanfrequenz von f(t) wie folgt vor:

  1. Ermitteln Sie die Wavelet-Transformation der Funktion:

    Wψf(s,u)=e2πiαuψ^(sα)¯,

    wobei ψ^(sα) die Fourier-Transformation des Wavelets bei sα ist.

  2. Bilden Sie die partielle Ableitung der vorherigen Gleichung in Bezug auf die Translation, u:

    uWψf(s,u)=2πiαe2πiαuψ^(sα)¯.

  3. Wenden Sie die Definition der Phasentransformation ωf(s,u) (Schritt 3 in Wavelet-Synchrosqueezing-Algorithmus) an, um die Momentanfrequenz zu ermitteln: ωf(s,u)=α.

Erforderliche Komponententrennung

Beim Synchrosqueezing müssen die Signalkomponenten IMTs sein, die in der Zeit-Frequenz-Ebene gut getrennt sind. Wenn diese Anforderung erfüllt ist, können Sie die Verlaufskurve der Momentanfrequenzen entlang einer Kurve verfolgen. Die Kurven zeigen die sich ändernde Position der maximalen Energie im Lauf der Zeit für jeden Signalmodus. Eine Beschreibung des Algorithmus für Verlaufskurven finden Sie unter wsstridge.

Diese Ungleichung definiert die erforderlichen Trennungskriterien:

|ϕk'(t)ϕk1'(t)|14|ϕk'(t)+ϕk1'(t)|

Hierbei ist ϕ' die Momentanfrequenz und d eine positive Trennungskonstante [2]. Zur Bestimmung der erforderlichen Trennung nehmen Sie an, dass ein Bump-Wavelet, x, eine Fourier-Transformation mit Träger im Bereich [εxΔ,εx+Δ] hat. Da das Bump-Wavelet eine Mittenfrequenz von 52π Hz hat, verwenden Sie [52π12,52π+12] als Intervall. Lösen Sie anschließend Δ<εxd1+d für d, um d>14 für das Bump-Wavelet zu erhalten.

Um diese Trennungsanforderung für das Bump-Wavelet zu verdeutlichen, betrachten Sie ein Signal, das sich aus cos(2π(0.1t))+sin((2π(0.2t)) zusammensetzt. Wenn Sie das Bump-Wavelet zur Ermittlung der CWT verwenden, ist die Momentanphase des Kosinus ϕ1(t)=0.1t und die Momentanfrequenz ist die erste Ableitung, 0,1. Entsprechend hat die Sinuskomponente eine Momentanfrequenz von 0,2. Die Trennungsungleichung |0.1|14|0.3| ist wahr. Daher sind die zwei Signalkomponenten IMT-Funktionen und ausreichend getrennt, um die Synchrosqueezing-Transformation zu verwenden.

Wenn Sie höhere Frequenzen wie z. B. 0,3 und 0,4 als Momentanfrequenzen verwenden, lautet die Ungleichung |0.1|14|0.7|; dies ist nicht wahr. Da diese Signalkomponenten keine gut getrennten IMTs sind, ist das Signal, cos(2π(0.3t))+sin((2π(0.4t)), nicht für die Verwendung mit der Synchrosqueezing-Transformation geeignet.

Beispiele

CWT und Unschärfe der Synchrosqueezing-Transformation

Der Vergleich der CWT mit der Synchrosqueezing-Transformation eines quadratischen Chirps zeigt, dass das Ergebnis der Synchrosqueezing-Transformation eine geringere Energie-Unschärfe aufweist.

load quadchirp
Fs = 1000;
[wt,f] = cwt(quadchirp,"bump",Fs);
subplot(2,1,1)
hp = pcolor(tquad,f,abs(wt));
hp.EdgeColor = "none";
xlabel("Time (secs)")
ylabel("Frequency (Hz)")
title("CWT of Quadratic Chirp")
subplot(2,1,2)
wsst(quadchirp,Fs,"bump")

Figure contains 2 axes objects. Axes object 1 with title CWT of Quadratic Chirp, xlabel Time (secs), ylabel Frequency (Hz) contains an object of type surface. Axes object 2 with title Wavelet Synchrosqueezed Transform, xlabel Time (secs), ylabel Frequency (Hz) contains an object of type surface.

Trennung von Niederfrequenz- und Hochfrequenzkomponenten

Dieses Beispiel zeigt, welche Trennung zwischen Signalkomponenten erforderlich ist, um brauchbare Ergebnisse aus der Synchrosqueezing-Transformation zu erhalten. Die Signalkomponenten sind 0,025, 0,05, 0,20 und 0,225 Zyklen pro Abtastung. Die Hochfrequenzkomponenten, 0,20 und 0,225, sind nicht ausreichend getrennt, sodass Sie das gesamte Signal nicht als Summe gut getrennter IMTs ausdrücken können.

Definieren Sie das Signal und stellen Sie die Synchrosqueezing-Komponenten grafisch dar.

t = 0:2000;
x1 = cos(2*pi*.025*t);
x2 = cos(2*pi*.05*t);
x3 = cos(2*pi*.20*t);
x4 = cos(2*pi*.225*t);
x =x1+x2+x3+x4;
[sst,f] = wsst(x);
contour(t,f,abs(sst))
xlabel("Time")
ylabel("Normalized Frequency")
title("Inadequate High-Frequency Separation")

Figure contains an axes object. The axes object with title Inadequate High-Frequency Separation, xlabel Time, ylabel Normalized Frequency contains an object of type contour.

Vergrößern Sie die Trennung der Hochfrequenzkomponenten und stellen Sie dann die Synchrosqueezing-Komponenten erneut grafisch dar.

x4 = cos(2*pi*.3*t);
x =x1+x2+x3+x4;
[sst,f] = wsst(x);
contour(t,f,abs(sst))
xlabel("Time")
ylabel("Normalized Frequency")
title("Adequate High-Frequency Separation")

Figure contains an axes object. The axes object with title Adequate High-Frequency Separation, xlabel Time, ylabel Normalized Frequency contains an object of type contour.

Alle Signalkomponenten sind jetzt gut getrennte IMTs und ausreichend getrennt, um sie voneinander zu unterscheiden. Das Signal ist für die Verwendung mit der Synchrosqueezing-Transformation geeignet.

Bereich mit unzureichender Trennung

Dieses Beispiel zeigt ein Signal mit zwei linearen Chirps. Ein linearer Chirp ist wie folgt definiert:

f(t)=cos(ϕ+2π(f0t+mt22)).

Seine erste Ableitung, f0+mt, definiert die Momentanfrequenzlinie. Verwenden Sie das Bump-Wavelet und die Trennungskonstante 0,25. Um den Bereich zu ermitteln, indem die zwei Chirp-Signale mit Momentanfrequenzen von 0,4 und 0,1 Zyklen pro Abtastung nicht ausreichend getrennt sind, lösen Sie diese Gleichung:

|y1-y2|=0.25|y1+y2|.

y1=-0.151000x+0.4 und y2=0.151000x+0.1 sind die Momentanfrequenzlinien der Chirps.

t = 0:2000;
y1 = chirp(t,0.4,1000,0.25);
y2 = chirp(t,0.1,1000,0.25);
y = y1+y2;
wsst(y,'bump')
xlabel('Samples')
h1 = line([583 583], [0 0.5]);
h2 = line([1417 1417], [0 0.5]);
h1.Color='white';
h2.Color='white';

Figure contains an axes object. The axes object with title Wavelet Synchrosqueezed Transform, xlabel Samples, ylabel Normalized Frequency (cycles/sample) contains 3 objects of type surface, line.

Die vertikalen Linien sind die Grenzen des Bereichs. Sie zeigen an, dass bei Abtastung 583 und Abtastung 1417 keine ausreichende Trennung vorliegt. Im Bereich zwischen den vertikalen Linien besteht das Signal nicht aus gut getrennten IMTs. In den Bereichen außerhalb der vertikalen Linien hat das Signal gut getrennte IMTs. Sie können für diese Bereiche gute Ergebnisse mit der Synchrosqueezing-Transformation erzielen.

Referenzen

[1] Mallet, S. A Wavelet Tour of Signal Processing. San Diego, CA: Academic Press, 2008, p. 89.

[2] Daubechies, I., J. Lu, and H. T. Wu. "Synchrosqueezed Wavelet Transforms: an empirical mode decomposition-like tool." Applied and Computational Harmonic Analysis. Vol. 30(2), pp. 243–261.

[3] Thakur, G., E. Brevdo, N. S. Fučkar, and H. T. Wu. "The synchrosqueezing algorithm for time-varying spectral analysis: robustness properties and new paleoclimate applications." Signal Processing. Vol. 93, pp. 1079–1094.

Verwandte Themen