Kontinuierliche Wavelet-Transformation und inverse kontinuierliche Wavelet-Transformation
Dieses Beispiel zeigt die Verwendung der kontinuierlichen Wavelet-Transformation (Continuous Wavelet Transform, CWT) und der inversen CWT.
CWT von Sinuswellen und Impulsen
Konstruieren und plotten Sie ein Signal aus zwei disjunkten Sinuswellen mit Frequenzen von 100 und 50 Hz, in denen zwei Impulse auftreten. Die Abtastfrequenz beträgt 1 kHz und die Gesamtsignaldauer eine Sekunde. Die 100-Hz-Sinuswelle tritt in den ersten 250 Millisekunden der Daten auf. Die 50-Hz-Sinuskurve tritt in den letzten 500 Millisekunden auf. Die Impulse treten bei 650 und 750 Millisekunden auf. Das Signal weist außerdem ein additives weißes Gauß‘sches Rauschen von auf. Der Impuls bei 650 Millisekunden ist sichtbar, der Impuls bei 750 Millisekunden ist jedoch in den Zeitbereichsdaten nicht klar ersichtlich.
Fs = 1000; t = 0:1/Fs:1-1/Fs; x = zeros(size(t)); x([625,750]) = 2.5; x = x+ cos(2*pi*100*t).*(t<0.25)+cos(2*pi*50*t).*(t>=0.5)+... 0.1*randn(size(t)); plot(t.*1000,x) grid on; xlabel('msec'); ylabel('Amplitude');

Ermitteln und plotten Sie die CWT mit dem standardmäßigen analytischen Morse-Wavelet.
[cfs,f] = cwt(x,1000); contour(t.*1000,f,abs(cfs)); xlabel('msec'); ylabel('Hz'); grid on;

Die CWT-Absolutwerte zeigen deutlich die Träger der disjunkten Sinuskurven und die Stellen der Impulse bei 650 und 750 Millisekunden. In den CWT-Absolutwerten ist der Impuls bei 750 Millisekunden deutlich sichtbar. Dies gilt insbesondere, wenn Sie nur die feinskaligsten Wavelet-Koeffizienten plotten.
plot(t.*1000,abs(cfs(1,:))) grid on title('Fine-Scale Wavelet Coefficient Moduli') xlabel('msec')

In Frequenz lokalisierte inverse CWT
Mit der inversen CWT können Sie in der Frequenz lokalisierte Approximationen für Ereignisse in Ihren Zeitreihen konstruieren. Verwenden Sie die inverse CWT, um eine Approximation an die 100-Hz-Sinuskurve im vorherigen Beispiel zu erhalten.
xrec = icwt(cfs,[],f,[90 110]); plot(t,x); hold on; plot(t,xrec,'r'); legend('Original Signal','Inverse CWT Approximation',... 'Location','NorthEast'); grid on;

Wenn Sie die Darstellung vergrößern, sehen Sie, dass die 100-Hz-Komponente gut approximiert wird, während die 50-Hz-Komponente entfernt wurde.