Main Content

Kritisch abgetastete Wavelet-Rekonstruktion

Sie haben erfahren, wie Sie mithilfe der diskreten Wavelet-Transformation Signale und Bilder analysieren oder zerlegen können. Dieser Vorgang wird als Zerlegung oder Analyse bezeichnet. Im anderen Teil geht es darum, wie diese Komponenten ohne Informationsverlust wieder zum ursprünglichen Signal zusammengesetzt werden können. Dieser Vorgang wird als Rekonstruktion oder Synthese bezeichnet. Die mathematische Operation, die die Synthese bewirkt, wird als inverse diskrete Wavelet-Transformation (IDWT) bezeichnet.

Um ein Signal mithilfe der Software Wavelet Toolbox™ zu synthetisieren, rekonstruieren wir es aus den Wavelet-Koeffizienten.

Während die Wavelet-Analyse Filterung und Downsampling umfasst, besteht die Wavelet-Rekonstruktion aus Upsampling und Filterung. Unter Upsampling versteht man die Verlängerung einer Signalkomponente durch Einfügen von Nullen zwischen den Abtastwerten.

Die Toolbox enthält Befehle wie idwt und waverec, mit denen eine bzw. mehrere Ebenen der Komponenten von 1D-Signalen rekonstruiert werden können. Die entsprechenden Befehle für 2D- und 3D-Signale sind idwt2, waverec2, idwt3 und waverec3.

Rekonstruktionsfilter

Auch der Filterteil des Rekonstruktionsprozesses muss erläutert werden, da die Wahl der Filter für eine perfekte Rekonstruktion des ursprünglichen Signals entscheidend ist.

Das Downsampling der Signalkomponenten während der Zerlegungsphase führt zu einer Verzerrung, dem sogenannten Aliasing. Es hat sich gezeigt, dass durch die sorgfältige Auswahl von Filtern für die Zerlegungs- und die Rekonstruktionsphase, die eng miteinander verbunden (aber nicht identisch) sind, die Auswirkungen von Aliasing „aufgehoben“ werden können.

Eine technische Diskussion zur Gestaltung dieser Filter finden Sie auf Seite 347 des Buchs Wavelets and Filter Banks von Strang und Nguyen. Die Tiefpass- und Hochpass-Zerlegungsfilter (L und H) bilden zusammen mit den zugehörigen Rekonstruktionsfiltern (L' und H') ein System von sogenannten Quadraturspiegelfiltern:

Rekonstruieren von Approximationen und Details

Wir haben gesehen, dass es möglich ist, das ursprüngliche Signal aus den Koeffizienten der Approximationen und Details zu rekonstruieren.

Es ist auch möglich, die Approximationen und Details selbst aus ihren Koeffizientenvektoren zu rekonstruieren. Betrachten wir als Beispiel die Rekonstruktion einer Approximation der ersten Ebene A1 aus dem Koeffizientenvektor cA1.

Wir wenden auf den Koeffizientenvektor cA1 den gleichen Prozess an, den wir zum Rekonstruieren des ursprünglichen Signals verwendet haben. Anstatt ihn jedoch mit dem Detailvektor der ersten Ebene cD1 zu kombinieren, fügen wir einen Vektor aus Nullen anstelle des Detailkoeffizientenvektors ein:

Ergebnis des Prozesses ist eine rekonstruierte Approximation A1, die die gleiche Länge wie das ursprüngliche Signal S hat und eine echte Approximation an dieses darstellt.

Entsprechend können wir den Detailvektor der ersten Ebene D1 mithilfe des analogen Prozesses rekonstruieren:

Die rekonstruierten Details und Approximationen sind echte Bestandteile des ursprünglichen Signals. Wenn wir sie kombinieren, stellen wir Folgendes fest:

A1 + D1 = S.

Beachten Sie, dass die Koeffizientenvektoren cA1 und cD1 – da sie durch Downsampling erzeugt wurden und nur halb so lang sind wie das ursprüngliche Signal – nicht direkt kombiniert werden können, um das Signal zu reproduzieren. Die Approximationen und Details müssen rekonstruiert werden, bevor sie kombiniert werden können.

Wenn wir diese Technik auf die Komponenten einer Analyse mit mehreren Ebenen ausweiten, stellen wir fest, dass ähnliche Beziehungen für alle rekonstruierten Signalkomponenten gelten. Das heißt, es gibt mehrere Möglichkeiten, das ursprüngliche Signal wieder zusammenzusetzen:

Wavelets aus konjugierten Spiegelfiltern

Im Abschnitt Rekonstruktionsfilter haben wir darüber gesprochen, wie wichtig die Wahl der richtigen Filter ist. Tatsächlich entscheidet die Wahl der Filter nicht nur darüber, ob eine perfekte Rekonstruktion möglich ist, sondern bestimmt auch die Form des Wavelets, mit dem die Analyse durchgeführt wird.

Um ein Wavelet von praktischem Nutzen zu konstruieren, beginnen Sie nur selten mit dem Zeichnen einer Wellenform. Stattdessen ist es in der Regel sinnvoller, die entsprechenden Quadraturspiegelfilter zu entwerfen und sie dann zur Erstellung der Wellenform zu verwenden. Sehen wir uns dies anhand eines Beispiels an.

Betrachten Sie den Tiefpass-Rekonstruktionsfilter (L') für das db2-Wavelet.

Die Filterkoeffizienten können über die Funktion dbaux abgerufen werden. Indem Sie die Reihenfolge des Skalierungsfiltervektors umkehren und jedes gerade Element (Indexierung ab 1) mit (-1) multiplizieren, erhalten Sie den Hochpass-Filter.

Durch wiederholtes Upsampling um zwei und Faltung der Ausgabe mit dem Skalierungsfilter entsteht das Daubechies-Wavelet mit extremer Phase.

 L = dbaux(2);
 H = wrev(L).*[1 -1 1 -1];
 HU = dyadup(H,0);
 HU = conv(HU,L);
 plot(HU); title('1st Iteration');
 H1 = conv(dyadup(HU,0),L);
 H2 = conv(dyadup(H1,0),L);
 H3 = conv(dyadup(H2,0),L);
 H4 = conv(dyadup(H3,0),L);
 figure;
 for k =1:4
 subplot(2,2,k);
 eval(['plot(H' num2str(k) ')']);
 axis tight;
 end

Die Kurve wird dem db2-Wavelet immer ähnlicher. Dies bedeutet, dass die Form des Wavelets vollständig durch die Koeffizienten der Rekonstruktionsfilter bestimmt wird.

Diese Beziehung hat tiefgreifende Auswirkungen. Sie bedeutet, dass Sie nicht einfach irgendeine Form wählen, sie als Wavelet bezeichnen und eine Analyse durchführen können. Zumindest können Sie nicht eine beliebige Wavelet-Wellenform wählen, wenn Sie das ursprüngliche Signal genau rekonstruieren können möchten. Sie sind gezwungen, eine Form zu wählen, die durch Quadraturspiegel-Zerlegungsfilter bestimmt wird.

Skalierungsfunktion

Wir haben die Wechselbeziehung zwischen Wavelets und Quadraturspiegelfiltern kennengelernt. Die Wavelet-Funktion ψ wird durch den Hochpassfilter bestimmt, der auch die Details der Wavelet-Zerlegung erzeugt.

Es gibt eine zusätzliche Funktion für einige, aber nicht alle Wavelets. Dies ist die sogenannte Skalierungsfunktion, ϕ. Die Skalierungsfunktion ist der Wavelet-Funktion sehr ähnlich. Sie wird durch die Tiefpass-Quadraturspiegelfilter bestimmt und ist somit mit den Approximationen der Wavelet-Zerlegung verknüpft.

Genauso, wie durch das iterative Upsampling und Falten des Hochpassfilters eine Form entsteht, die eine Approximation der Wavelet-Funktion darstellt, entsteht durch das iterative Upsampling und Falten des Tiefpassfilters eine Form, die eine Approximation der Skalierungsfunktion ist.