Ich habe Probleme zu verstehen, wie die von einer Wavelet-Transformation geplottete Handlung zu lesen ist.
Hier ist mein einfacher Matlab-Code.
load noissin;
% c is a 48-by-1000 matrix, each row
% of which corresponds to a single scale.
c = cwt(noissin,1:48,'db4','plot');
Der hellste Teil bedeutet also, dass die Größe des Maßstabs größer ist, aber wie genau kann ich diese Handlung verstehen, was dort passiert? Bitte hilf mir.
Antworten:
Stellen Sie sich für eine Sekunde vor, Sie hätten gerade Ihr Daubechies-4- Wavelet gezeichnet , wie Sie hier in Rot sehen können.
Stellen Sie sich nun vor, Sie nehmen diese Wellenform in Rot und führen einfach eine Kreuzkorrelation mit Ihrem Signal durch. Sie zeichnen dieses Ergebnis. Dies ist die erste Reihe Ihres Grundstücks. Dies ist Maßstab 1. Als Nächstes erweitern Sie Ihr Daubechies-4-Wavelet (dh Sie lassen es einfach um einen Faktor in der Zeit „dehnen“). Anschließend führen Sie erneut eine Kreuzkorrelation dieser neuen Wellenform mit Ihrem Signal durch. Sie erhalten dann die zweite Reihe Ihres Grundstücks. Das ist Skala-2. Sie tun dies für alle Skalen, dh, Sie nehmen weiterhin Ihr ursprüngliches 'Mutter'-Wavelet und Sie weiten sich weiter aus, dann überkorrelieren, erweitern und überkorrelieren usw., und Sie zeichnen die Ergebnisse einfach oben auf Andere.
Dies zeigt Ihnen das CWT-Diagramm. Die Ergebnisse einer Kreuzkorrelation Ihres Signals mit einem Wavelet in verschiedenen Maßstäben, dh bei verschiedenen Dehnungsfaktoren.
Lassen Sie uns Ihr Bild interpretieren. In der ersten Zeile sehen Sie, dass Ihre Kreuzkorrelation schwache Amplituden aufweist. Das bedeutet, dass es Ihnen sagt, dass fast nichts in Ihrem Signal mit Ihrem Wavelet korreliert (oder "übereinstimmt"), wenn es auf der Skala 1 ist (wenn es auf der kleinsten Skala ist). Sie dehnen Ihr Wavelet weiter und korrelieren, und dennoch stimmt es mit nichts in Ihrem Signal überein, bis Sie sagen, dass Sie Skala-31 erreichen. Wenn Sie also Ihr Wavelet 31-mal dehnen und eine Kreuzkorrelation durchführen, sehen Sie einige helle Flecken, was bedeutet, dass Sie gute Kreuzkorrelationswerte zwischen Ihrem gedehnten Wavelet und Ihrem Signal erhalten.
Wenn Sie jedoch ganz nach oben schauen, haben wir die hellsten Stellen. Für Skala-46 haben Sie diese Zeile erstellt, indem Sie Ihr ursprüngliches Wavelet 46-mal gedehnt und dann mit Ihrem Signal kreuzkorreliert haben. Dann ist dies Ihre Zeile-46. Sie sehen also viele schöne Lichtblicke. Sie können sehen, dass ich an den Positionen (x-Achse) ~ 25, ~ 190 und ~ 610 helle Flecken habe. Das heißt, Sie haben ein Merkmal in Ihrem Signal, das Ihrem 46-fach gedehnten Wavelet sehr nahe kommt . Sie haben also an den Stellen etwas, das Ihrem Wavelet in dieser Größenordnung genau entspricht.
(Natürlich haben Sie in Ihrem Fall Rauschen verwendet, daher sind die Positionen, über die ich gesprochen habe, zufällig - das heißt, es ist nichts wirklich 'Interessantes' im Gange. Führen Sie eine CWT mit einem Sinuspuls durch und was ich sage kann klarer gemacht werden.)
Zusammenfassend zeigt die CWT einfach alle möglichen Korrelationswerte zwischen Ihrem Template / Matched Filter (in diesem Fall Daub-4 Wavelet) an verschiedenen Positionen (X-Achse), auch bei verschiedenen Streckungsfaktoren (Y-Achse). .
Hoffe das hat geholfen.
quelle
Diese Handlungen waren hilfreich für mich zu verstehen, da sie aus einem STFT- Hintergrund stammen:
Das komplexe Morlet-Wavelet (sinusförmig) sieht aus und verhält sich wie der komplexe Kernel einer STFT (da er von der Gabor-Transformation abgeleitet ist , einer Art von STFT). Wenn Sie es an einem Signal mit derselben Frequenz "vorbeischieben", stimmt es unabhängig von der Phase des gemessenen Signals überein und erzeugt an jedem Punkt eine Größen- und Phasenmessung (und dies ist nur eine Auftragung der Größe):
Magnitudenplot der komplexen Morlet-Wavelet-Transformation
Das realwertige Morlet-Wavelet stimmt nur überein, wenn die Phasen des Wavelets und des Signals in einer Linie liegen. Wenn Sie es also an dem von Ihnen gemessenen Signal vorbeischieben, wird es phasenverschoben und erzeugt Maxima und Minima, wenn sie sich aufheben oder verstärken:
Größe der kontinuierlichen Real-Morlet-Wavelet-Transformation
(In diesem Fall zeichnen wir die Größe auf, sodass sowohl die positiven als auch die negativen Übereinstimmungen orangefarbene Punkte ergeben. Es ist besser, stattdessen auf eine bipolare Farbkarte zu wechseln , um zu zeigen, dass einige Peaks in Phase und andere nicht in Phase sind.) :
Kontinuierliche echte Morlet-Wavelet-Transformation unter Verwendung einer bipolaren Farbkarte
Mit dem realwertigen Morlet werden die Größen- und Phaseninformationen zu einem einzigen Ausgabewert kombiniert.
Die am häufigsten verwendeten Wavelets haben einen reellen Wert. Sie stimmen also nur überein, wenn die von Ihnen gemessene Welle und die von Ihnen getestete Welle in einer Linie liegen, was zu diesen Oszillationen oder Wellen im Skalogramm führt, wenn Sie aneinander vorbeischieben.
quelle
Dies ist das Beispiel, von dem ich denke, dass es das beste ist, um die Wavelet-Handlung zu verstehen.
Schauen Sie sich das Bild unten an. Die Wellenform (A) ist unser ursprüngliches Signal. Die Wellenform (B) zeigt ein Wavelet von Daubechies 20 (Db20) mit einer Länge von etwa 1/8 Sekunde, das am Anfang beginnt (t = 0) und effektiv gut endet vor 1/4 Sekunde. Die Nullwerte werden auf die volle 1 Sekunde verlängert. Der Punkt-für-Punkt-Vergleich * mit unserem Impulssignal (A) ist sehr schlecht und wir erhalten einen sehr kleinen Korrelationswert.
Wir verschieben zuerst das ungedehnte Basis- oder Mutter-Wavelet leicht nach rechts und führen einen weiteren Vergleich des Signals mit dieser neuen Wellenform durch, um einen anderen Korrelationswert zu erhalten. Wir verschieben uns weiter und wenn sich das Db20-Wavelet in der in (C) gezeigten Position befindet, erhalten wir einen etwas besseren Vergleich als mit (B), aber immer noch sehr schlecht, da (C) und (A) unterschiedliche Frequenzen sind.
Nachdem wir das Wavelet bis zum Ende des 1-Sekunden-Zeitintervalls verschoben haben, beginnen wir erneut mit einem leicht gedehnten Wavelet und verschieben uns wiederholt nach rechts, um einen weiteren vollständigen Satz dieser Korrelationswerte zu erhalten. Die Wellenform (D) zeigt das Db20-Wavelet, das bis zu einer Frequenz gedehnt wurde, die ungefähr der des Impulses (A) entspricht, und nach rechts verschoben, bis die Spitzen und Täler recht gut ausgerichtet sind. Bei diesen besonderen Verlagerungs- und Streckungsbeträgen sollten wir einen sehr guten Vergleich und einen großen Korrelationswert erhalten. Eine weitere Verschiebung nach rechts führt jedoch auch bei dieser Dehnung zu immer schlechteren Korrelationen. Weiteres Strecken hilft überhaupt nicht, da der Puls und das überdehnte Wavelet selbst in einer Reihe nicht die gleiche Frequenz haben.
In der CWT haben wir einen Korrelationswert für jede Verschiebung jedes gestreckten Wavelets. † Um die Korrelationswerte (Qualität der „Übereinstimmung“) für all diese Strecken und Verschiebungen anzuzeigen, verwenden wir eine 3D-Anzeige.
Hier kommt's,
Die hellen Punkte zeigen an, wo die Spitzen und Täler des gedehnten und verschobenen Wavelets am besten mit den Spitzen und Tälern des eingebetteten Pulses übereinstimmen (dunkel, wenn keine Ausrichtung vorliegt, dunkler, wenn nur einige Spitzen und Täler aneinandergereiht sind, aber am hellsten, wenn alle Spitzen und Täler übereinstimmen ausrichten). In diesem einfachen Beispiel ergab das Dehnen des Wavelets um den Faktor 2 von 40 auf 20 Hz (Dehnen des Filters von den ursprünglichen 20 auf 40 Punkte) und Verschieben um 3/8 Sekunden die beste Korrelation und stimmte mit dem überein, was wir wussten a priori oder "up front" um den Puls (Puls zentriert bei 3/8 Sekunde, Pulsfrequenz 20 Hz).
Wir haben das Wavelet Db20 gewählt, da es dem Impulssignal ein wenig ähnelt. Wenn wir a priori nicht wüssten, wie das Ereignis aussieht, könnten wir mehrere Wavelets (einfach in der Software umschaltbar) ausprobieren, um zu ermitteln, welche eine CWT-Anzeige mit den hellsten Flecken ergab (was die beste Korrelation anzeigt). Dies würde uns etwas über die Form der Veranstaltung erzählen.
Im obigen einfachen Tutorial-Beispiel hätten wir den Ort und die Frequenz des Impulses (A) visuell erkennen können. Das nächste Beispiel ist etwas repräsentativer für Wavelets in der realen Welt, in der Ort und Frequenz mit bloßem Auge nicht sichtbar sind.
Siehe das Beispiel unten,
Mit Wavelets können lokale Ereignisse analysiert werden. Wir konstruieren ein langsam variierendes Sinuswellensignal mit 300 Punkten und fügen zur Zeit = 180 einen winzigen „Störimpuls“ oder eine Diskontinuität (in der Steigung) hinzu. Wir würden den Störimpuls nicht bemerken, wenn wir nicht die Nahaufnahme betrachten (b).
Nun wollen wir sehen, wie FFT diesen Fehler anzeigt.
Die niedrige Frequenz der Sinuswelle ist leicht zu bemerken, aber der kleine Fehler ist nicht zu sehen.
Wenn wir jedoch CWT anstelle von FFT verwenden, wird dieser Fehler deutlich angezeigt.
Wie Sie sehen können, zeigt das CWT-Wavelet-Display deutlich eine vertikale Linie zur Zeit = 180 und in kleinen Maßstäben. (Das Wavelet dehnt sich bei geringen Maßstäben nur sehr wenig aus, was darauf hinweist, dass der Störimpuls sehr kurz war.) Die CWT lässt sich auch gut mit der großen oszillierenden Sinuswelle vergleichen, die den Störimpuls verbirgt. Auf diesen höheren Skalen wurde das Wavelet gedehnt (auf eine niedrigere Frequenz) und "findet" so den Peak und das Tal der Sinuswelle zur Zeit = 75 und 225. Für diese kurze Diskontinuität verwendeten wir einen kurzen 4-Punkt-Db4 Wavelet (wie abgebildet) zum besten Vergleich.
quelle