Was ist ein Wavelet?
Ein Wavelet ist eine Wellenform von effektiv begrenzter Dauer, die einen Durchschnittswert von Null und ungleich Null Norm hat.
Viele Signale und Bilder von Interesse zeigen stückweise glattes Verhalten, unterbrochen von Transienten. Sprachsignale sind durch kurze Konsonanten gekennzeichnet, gefolgt von stationären Schwingungen, die auf Vokale hinweisen. Natürliche Bilder haben Kanten. Finanzielle Zeitreihen zeigen ein vorübergehendes Verhalten, das schnelle Auf- und Abschwünge der wirtschaftlichen Bedingungen kennzeichnet. Im Gegensatz zur Fourier-Basis sind Wavelet-Basen in der Lage, stückweise regelmäßige Signale und Bilder, die transientes Verhalten beinhalten, spärlich darzustellen.
Vergleichen Sie Wavelets mit Sinuswellen, die die Grundlage der Fourier-Analyse bilden. Sinuskurven haben keine begrenzte Dauer – sie erstrecken sich von minus bis plus unendlich. Während Sinuskurven glatt und vorhersehbar sind, neigen Wavelets dazu, unregelmäßig und asymmetrisch zu sein.
Die Fourier-Analyse besteht darin, ein Signal in Sinuswellen verschiedener Frequenzen aufzuteilen. In ähnlicher Weise ist die Wavelet-Analyse das Aufbrechen eines Signals in verschobene und skalierte Versionen des ursprünglichen (oder Mutter-) Wavelets.
Wenn man sich nur Bilder von Wavelets und Sinuswellen ansieht, kann man intuitiv erkennen, dass Signale mit scharfen Änderungen mit einem unregelmäßigen Wavelet besser analysiert werden können als mit einer glatten Sinuskurve.
Es macht auch Sinn, dass lokale Merkmale mit Wavelets mit lokaler Ausdehnung besser beschrieben werden können. Das folgende Beispiel veranschaulicht dies für ein einfaches Signal, das aus einer Sinuswelle mit einer Diskontinuität besteht.
Diskontinuität in Sinuswelle lokalisieren
Dieses Beispiel zeigt, dass eine Wavelet-Analyse eine Diskontinuität in einer Sinuswelle lokalisieren kann.
Erzeugt eine 1-Hz-Sinuswelle, die mit 100 Hz abgetastet wird. Die Dauer der Sinuswelle beträgt eine Sekunde. Die Sinuswelle hat eine Diskontinuität bei t = 0,5 Sekunden.
t = linspace(0,1,100)';x = sin(2*pi*t);x1 = x-0.15;y = zeros(size(x));y(1:length(y)/2) = x(1:length(y)/2);y(length(y)/2+1:end) = x1(length(y)/2+1:end);stem(t,y,'markerfacecolor',); xlabel('Seconds'); ylabel('Amplitude');
Erhalten Sie die nichtdezimierte diskrete Wavelet-Transformation der Sinuswelle mit dem 'sym2'
-Wavelet und zeichnen Sie die Wavelet- (Detail-) Koeffizienten zusammen mit dem Originalsignal auf.
= swt(y,1,'sym2');subplot(211)stem(t,y,'markerfacecolor',); title('Original Signal');subplot(212)stem(t,swd,'markerfacecolor',);title('Level 1 Wavelet Coefficients');
Vergleichen Sie die Größen des Fourier-Koeffizienten für die 1-Hz-Sinuswelle mit und ohne die Diskontinuität.
dftsig = fft();dftsig = dftsig(1:length(y)/2+1,:);df = 100/length(y);freq = 0:df:50;stem(freq,abs(dftsig));xlabel('Hz'); ylabel('Magnitude');legend('sine wave','sine wave with discontinuity');
Es gibt einen minimalen Unterschied in den Größen der Fourier-Koeffizienten. Da die diskreten Fourier-Basisvektoren über das gesamte Zeitintervall Unterstützung haben, detektiert die diskrete Fourier-Transformation die Diskontinuität nicht so effizient wie die Wavelet-Transformation.
Vergleichen Sie die Level-1-Wavelet-Koeffizienten für die Sinuswelle mit und ohne Diskontinuität.
= swt(x,1,'sym2');subplot(211)stem(t,swd); title('Sine Wave with Discontinuity (Wavelet Coefficients)');subplot(212)stem(t,swdx); title('Sine Wave (Wavelet Coefficients)');
Die Wavelet-Koeffizienten der beiden Signale zeigen einen signifikanten Unterschied. Die Wavelet-Analyse ist oft in der Lage, Eigenschaften eines Signals oder Bildes aufzudecken, die andere Analysetechniken vermissen, wie Trends, Durchbruchspunkte, Diskontinuitäten in höheren Ableitungen und Selbstähnlichkeit. Da Wavelets eine andere Sicht auf Daten bieten als die durch Fourier-Techniken dargestellten, kann die Wavelet-Analyse ein Signal häufig ohne nennenswerte Verschlechterung signifikant komprimieren oder entrauschen.