Kontinuierliche und diskrete Wavelet-Transformationen
In diesem Thema werden die Hauptunterschiede zwischen der kontinuierlichen Wavelet-Transformation (CWT) und der diskreten Wavelet-Transformation (DWT) beschrieben – sowohl für die dezimierte auch die nicht dezimierte Version. cwt
ist eine diskretisierte Version der CWT und kann daher in einer Rechenumgebung implementiert werden. Diese Erläuterung konzentriert sich auf den 1D-Fall, ist aber auch auf höhere Dimensionen anwendbar.
Die cwt
-Wavelet-Transformation vergleicht ein Signal mit verschobenen und skalierten (gestreckten oder geschrumpften) Kopien eines Basis-Wavelets. Wenn ein bei t=0 zentriertes Wavelet mit Zeitunterstützung von [-T/2, T/2] ist, dann ist bei t = u zentriert mit Zeitunterstützung von [-sT/2+u, sT/2+u]. Bei der cwt
-Funktion kommt die L1-Normierung zum Einsatz, d. h., alle Frequenzamplituden werden auf denselben Wert normiert. Wenn 0<s<1, wird das Wavelet zusammengezogen (geschrumpft), und wenn s>1, wird das Wavelet gestreckt. Der mathematische Begriff hierfür ist Dilatation. Unter Kontinuierliche Wavelet-Transformation und skalenbasierte Analyse finden Sie Beispiele dafür, wie dieser Vorgang Merkmale im Signal extrahiert, indem er es mit dilatierten und parallel verschobenen Wavelets abgleicht.
Der wichtigste Unterschied zwischen der CWT und diskreten Wavelet-Transformationen wie dwt
und modwt
liegt in der Art und Weise der Diskretisierung des Skalierungsparameters. Bei der CWT wird die Skalierung feiner diskretisiert als bei der diskreten Wavelet-Transformation. Bei der CWT legen Sie normalerweise eine Basis fest, die eine Zweierpotenz mit Bruch als Exponent ist, z. B. , wobei v eine ganze Zahl größer als 1 ist. Der Parameter v wird häufig als die Anzahl der „Stimmen pro Oktave“ bezeichnet. Verschiedene Skalierungen erhält man, indem man diese Basisskalierung auf positive ganzzahlige Potenzen erhöht, z. B. . Der Translationsparameter in der CWT wird in ganzzahlige Werte diskretisiert, die hier mit m bezeichnet werden. Die resultierenden diskretisierten Wavelets für die CWT sind
.
Die Bezeichnung „Stimmen pro Oktave“ für den Parameter v rührt daher, dass v Zwischenskalierungen erforderlich sind, um die Skalierung um eine Oktave zu erhöhen (Verdopplung). Verwenden Sie z. B. und erhöhen Sie dann den Zähler im Exponenten, bis Sie 4 erreichen, die nächste Oktave. Sie wechseln von zu . Es gibt v Zwischenschritte. Übliche Werte für v sind 10, 12, 14, 16 und 32. Je größer der Wert von v, desto feiner die Diskretisierung des Skalierungsparameters s. Dies erhöht jedoch auch den erforderlichen Rechenaufwand, da die CWT für jede Skalierung berechnet werden muss. Die Differenz zwischen Skalierungen auf einer log2-Skala beträgt 1/v. Beispiele für Skalierungsvektoren für die CWT finden Sie unter CWT-Based Time-Frequency Analysis und Continuous Wavelet Analysis of Modulated Signals.
Bei der diskreten Wavelet-Transformation wird der Skalierungsparameter immer auf ganzzahlige Zweierpotenzen diskretisiert, 2j, j=1,2,3,..., sodass die Zahl der Stimmen pro Oktave immer 1 ist. Die Differenz zwischen Skalierungen auf einer log2-Skala beträgt für diskrete Wavelet-Transformationen immer 1. Beachten Sie, dass dies eine sehr viel gröbere Abtastung des Skalierungsparameters s ist als bei der CWT. Außerdem ist der Translationsparameter in der dezimierten Version (mit Downsampling) der diskreten Wavelet-Transformation (DWT) immer proportional zur Skalierung. Dies bedeutet, dass bei der Skalierung 2j immer eine Translation von 2jm durchgeführt wird, wobei m eine nicht negative ganze Zahl ist. Bei nicht dezimierten diskreten Wavelet-Transformationen wie modwt
und swt
ist der Skalierungsparameter auf Zweierpotenzen beschränkt, aber der Translationsparameter ist eine ganze Zahl wie bei der CWT. Das diskretisierte Wavelet für die DWT hat folgendes Format:
. Das diskretisierte Wavelet für die nicht dezimierte diskrete Wavelet-Transformation wie z. B. MODWT ist
.
Zusammenfassung:
Die CWT und die diskreten Wavelet-Transformationen unterscheiden sich im Hinblick auf die Art und Weise, wie der Skalierungsparameter diskretisiert wird. Die CWT verwendet normalerweise exponentielle Skalierungen mit einer Basis kleiner als 2, z. B. 21/12 . Die diskrete Wavelet-Transformation verwendet immer exponentielle Skalierungen mit der Basis 2. Die Skalierungen der diskreten Wavelet-Transformation sind Zweierpotenzen. Beachten Sie, dass bei der physikalischen Interpretation der Skalierungen sowohl für die CWT als auch für die diskrete Wavelet-Transformation das Abtastintervall des Signals berücksichtigt werden muss, sofern es nicht gleich 1 ist. Angenommen beispielsweise, Sie verwenden die CWT und haben die Basis auf festgelegt. Damit die Skalierung physikalisch aussagekräftig wird, müssen Sie eine Multiplikation mit dem Abtastintervall vornehmen, sodass ein Skalierungsvektor, der unter Berücksichtigung des Abtastintervalls etwa vier Oktaven umfasst, beträgt. Beachten Sie, dass das Abtastintervall die Skalierungen multipliziert, es besteht kein exponentieller Zusammenhang. Für diskrete Wavelet-Transformationen ist die Basisskalierung immer 2.
Die dezimierte und die nicht dezimierte diskrete Wavelet-Transformation unterscheiden sich im Hinblick auf die Art und Weise, wie der Translationsparameter diskretisiert wird. Bei der dezimierten diskreten Wavelet-Transformation (DWT) erfolgt die Translation immer mit einem ganzzahligen Vielfachen der Skalierung, 2jm . Bei der nicht dezimierten diskreten Wavelet-Transformation sind Translationen ganzzahlige Verschiebungen.
Diese Unterschiede bei der Diskretisierung von Skalierung und Translation haben Vor- und Nachteile für die zwei Wavelet-Transformationsklassen. Diese Unterschiede bestimmen auch die Anwendungsfälle, in denen die eine Wavelet-Transformation wahrscheinlich bessere Ergebnisse liefert als die andere. Wichtige Konsequenzen der Diskretisierung der Skalierungs- und Translationsparameter sind u. a.:
Die DWT stellt eine sparsame Darstellung vieler natürlicher Signale bereit. Mit anderen Worten: Die wichtigen Merkmale vieler natürlicher Signale werden durch eine Teilmenge von DWT-Koeffizienten erfasst, die in der Regel viel kleiner ist als das Originalsignal. Hierdurch wird das Signal „komprimiert“. Bei der DWT erhalten Sie immer die gleiche Anzahl von Koeffizienten wie im Originalsignal, aber viele der Koeffizienten können einen Wert nahe 0 haben. Daher können Sie diese Koeffizienten oft weglassen und haben trotzdem noch eine qualitativ hochwertige Approximation an das Signal. Bei der CWT wechseln Sie von N Abtastwerten für ein Signal der Länge N zu einer M-mal-N-Matrix von Koeffizienten, wobei M gleich der Anzahl der Skalierungen ist. Die CWT ist eine hochredundante Transformation. Es gibt eine erhebliche Überlappung zwischen Wavelets, sowohl innerhalb einer einzelnen Skalierung als auch zwischen Skalierungen. Für die Berechnung der CWT und die Speicherung der Koeffizienten werden wesentlich mehr Rechenressourcen benötigt als bei der DWT. Die nicht dezimierte diskrete Wavelet-Transformation ist ebenfalls redundant, aber der Redundanzfaktor ist in der Regel deutlich kleiner als bei der CWT, da der Skalierungsparameter nicht so fein diskretisiert wird. Bei der nicht dezimierten diskreten Wavelet-Transformation wechseln Sie von N Abtastwerten zu einer L+1-mal-N-Matrix von Koeffizienten, wobei L die Ebene der Transformation ist.
Die strikte Diskretisierung von Skalierung und Translation in der DWT sorgt dafür, dass die DWT eine orthonormale Transformation ist (bei Verwendung eines orthogonalen Wavelets). Orthonormale Transformationen haben in der Signalanalyse viele Vorteile. Viele Signalmodelle bestehen aus einem deterministischen Signal und weißem Gauß‘schem Rauschen. Eine orthonormale Transformation verwendet diese Art von Signal als Eingabe und gibt die auf das Signal angewendete Transformation plus weißes Rauschen aus. Mit anderen Worten: Eine orthonormale Transformation nimmt weißes Gauß‘sches Rauschen auf und gibt weißes Gauß‘sches Rauschen aus. Das Rauschen ist bei Eingabe und Ausgabe unkorreliert. Dies ist in vielen Bereichen der statistischen Signalverarbeitung von Bedeutung. Im Falle der DWT wird das relevante Signal in der Regel durch einige wenige DWT-Koeffizienten großer Größenordnung erfasst, während das Rauschen in vielen kleinen DWT-Koeffizienten resultiert, die entfernt werden können. Wenn Sie lineare Algebra studiert haben, haben Sie zweifellos viele Vorteile der Verwendung von Orthonormalbasen bei der Analyse und Darstellung von Vektoren kennengelernt. Die Wavelets in der DWT sind mit orthonormalen Vektoren vergleichbar. Weder die CWT noch die nicht dezimierte diskrete Wavelet-Transformation sind orthonormale Transformationen. Die Wavelets in der CWT und der nicht dezimierten diskreten Wavelet-Transformation werden technisch als Frames bezeichnet; sie sind linear abhängige Mengen.
Die DWT ist nicht verschiebungsinvariant. Da die DWT ein Downsampling durchführt, führt eine Verschiebung des Eingangssignals nicht zu einer einfachen äquivalenten Verschiebung der DWT-Koeffizienten auf allen Ebenen. Eine einfache Verschiebung in einem Signal kann eine erhebliche Neuausrichtung der Signalenergie in den DWT-Koeffizienten nach Skalierung bewirken. Die CWT und die nicht dezimierte diskrete Wavelet-Transformation sind verschiebungsinvariant. Es gibt einige Modifizierungen der DWT, wie die komplexe diskrete Dual-Tree-Wavelet-Transformation, die die fehlende Verschiebungsinvarianz der DWT ausgleichen. Unter Critically Sampled and Oversampled Wavelet Filter Banks finden Sie Grundlagenmaterial zu diesem Thema und unter Dual-Tree Complex Wavelet Transforms ein Beispiel.
Die diskreten Wavelet-Transformationen entsprechen diskreten Filterbänken. Konkret handelt es sich um diskrete Filterbänke in einer Baumstruktur, bei denen das Signal zunächst zur Erzeugung von Tiefpass- und Hochpass-Teilbändern einen Tiefpass- und einen Hochpassfilter durchläuft. Anschließend wird das Tiefpass-Teilband iterativ nach demselben Schema gefiltert, um schmalere Oktavband-Tiefpass- und Hochpass-Teilbänder zu erzeugen. Bei der DWT wird für die Filterausgaben in jeder aufeinanderfolgenden Phase ein Downsampling durchgeführt. Bei der nicht dezimierten diskreten Wavelet-Transformation erfolgt kein Downsampling der Ausgaben. Die Filter, die die diskreten Wavelet-Transformationen definieren, haben in der Regel nur eine kleine Anzahl von Koeffizienten, sodass die Transformation sehr effizient implementiert werden kann. Sowohl für die DWT als auch für die nicht dezimierte diskrete Wavelet-Transformation benötigen Sie eigentlich keinen Ausdruck für das Wavelet. Die Filter sind ausreichend. Bei der CWT ist dies nicht der Fall. Für die gängigste Implementierung der CWT muss das Wavelet explizit definiert werden. Auch wenn bei der nicht dezimierten diskreten Wavelet-Transformation kein Downsampling des Signals stattfindet, ermöglicht die Filterbank-Implementierung trotzdem eine gute Rechenleistung, die jedoch nicht so gut ist wie die der DWT.
Bei den diskreten Wavelet-Transformationen wird das Signal nach der Inversion perfekt rekonstruiert. Das bedeutet, dass Sie die diskrete Wavelet-Transformation eines Signals verwenden und dann mithilfe der Koeffizienten eine exakte Reproduktion des Signals mit numerischer Genauigkeit synthetisieren können. Sie können eine inverse CWT implementieren, aber oft ist die Rekonstruktion nicht perfekt. Die Rekonstruktion eines Signals aus den CWT-Koeffizienten ist eine wesentlich weniger stabile numerische Operation.
Die feinere Abtastung der Skalierungen in der CWT führt in der Regel zu einer Signalanalyse mit höherer Genauigkeit. Mit der CWT können Sie Transienten in Ihrem Signal besser lokalisieren oder oszillatorisches Verhalten genauer beschreiben als mit den diskreten Wavelet-Transformationen.
Weitere Informationen zu Wavelet-Transformationen und Anwendungen finden Sie unter
Leitlinien für kontinuierliche Wavelet-Transformation und diskrete Wavelet-Transformation
Basierend auf dem vorherigen Abschnitt finden Sie hier einige grundlegende Leitlinien für die Entscheidung, ob eine diskrete oder kontinuierliche Wavelet-Transformation verwendet werden sollte.
Wenn Ihre Anwendung eine möglichst sparsame Signaldarstellung für Kompression, Rauschunterdrückung oder Signalübertragung erfordert, sollten Sie die DWT mit
wavedec
verwenden.Wenn Ihre Anwendung eine orthonormale Transformation erfordert, verwenden Sie die DWT mit einem der orthogonalen Wavelet-Filter. Die orthogonalen Familien in der Wavelet Toolbox™ werden im Wavelet-Manager (
wavemngr
) als Wavelets vom Typ 1 ausgewiesen. Folgende fundierte orthogonale Wavelet-Familien sind integriert: Best-localized Daubechies ("bl"
), Beylkin ("beyl"
), Coiflets ("coif"
), Daubechies ("db"
), Fejér-Korovkin ("fk"
), Haar ("haar"
), Han linear-phase moments ("han"
), Morris minimum-bandwidth ("mb"
), Symlets ("sym"
) und Vaidyanathan ("vaid"
). Eine Liste der Wavelets in den einzelnen Familien finden Sie unterwfilters
. Weitere Informationen finden Sie unter Wählen eines Wavelets undwaveinfo
.Wenn Ihre Anwendung eine verschiebungsinvariante Transformation erfordert, Sie aber dennoch eine perfekte Rekonstruktion und ein gewisses Maß an Recheneffizienz benötigen, sollten Sie eine nicht dezimierte diskrete Wavelet-Transformation wie
modwt
oder eine Dual-Tree-Transformation wiedualtree
verwenden.Wenn Ihr primäres Ziel eine detaillierte Zeit-Frequenz-(Skalierungs-)Analyse oder eine präzise Lokalisierung von Signaltransienten ist, verwenden Sie
cwt
. Ein Beispiel für eine Zeit-Frequenz-Analyse mit der CWT finden Sie in unter CWT-Based Time-Frequency Analysis.Zum Entrauschen eines Signals durch Schwellenwertbildung für Wavelet-Koeffizienten verwenden Sie die Funktion
wdenoise
oder die App Wavelet Signal Denoiser.wdenoise
und Wavelet Signal Denoiser stellen Standardeinstellungen bereit, die auf Ihre Daten angewendet werden können, und verfügen über eine einfache Schnittstelle zu einer Vielzahl von Rauschunterdrückungsmethoden. Mit der App können Sie Signale visualisieren und entrauschen und die Ergebnisse vergleichen. Beispiele für das Entrauschen eines Signals finden Sie unter Denoise A Signal Using Default Values und Denoise a Signal with the Wavelet Signal Denoiser. Verwenden Sie zum Entrauschen von Bildern die Funktionwdenoise2
. Ein Beispiel finden Sie unter Denoising Signals and Images.Wenn Sie umfassende Kenntnisse über die statistischen Eigenschaften der Wavelet-Koeffizienten benötigen, sollten Sie eine diskrete Wavelet-Transformation verwenden. Die statistischen Eigenschaften der CWT werden aktuell intensiv untersucht, aber derzeit gibt es viel mehr Verteilungsergebnisse für die diskreten Wavelet-Transformationen. Der Erfolg der DWT bei der Rauschunterdrückung ist größtenteils auf unser Verständnis ihrer statistischen Eigenschaften zurückzuführen. Ein Beispiel für Schätzung und Hypothesentests mit einer nicht dezimierten diskreten Wavelet-Transformation finden Sie unter Wavelet Analysis of Financial Data.
Verwandte Beispiele
- Practical Introduction to Multiresolution Analysis
- Practical Introduction to Time-Frequency Analysis Using the Continuous Wavelet Transform
Mehr über
- Grundlegendes zu Wavelets, Teil 1: Was sind Wavelets?
- Grundlegendes zu Wavelets, Teil 2: Wavelet-Transformationstypen
- Grundlegendes zu Wavelets, Teil 3: Beispielanwendung der diskreten Wavelet-Transformation
- Grundlegendes zu Wavelets, Teil 4: Beispielanwendung der kontinuierlichen Wavelet-Transformation