Main Content

Von der Fourier-Analyse zur Wavelet-Analyse

Skalarprodukte

Sowohl die Fourier-Transformation als auch die Wavelet-Transformation messen die Ähnlichkeit zwischen einem Signal und einer analysierenden Funktion. Beide Transformationen nutzen ein mathematisches Werkzeug namens Skalarprodukt als Maß für die Ähnlichkeit. Die beiden Transformationen unterscheiden sich in der Wahl der analysierenden Funktion. Dies führt zu den unterschiedlichen Arten, auf die die beiden Transformationen das Signal repräsentieren und welche Art von Informationen extrahiert werden können.

Als einfaches Beispiel für das Skalarprodukt als Maß der Ähnlichkeit kann das Skalarprodukt von Vektoren in der Ebene gelten. Im folgenden MATLAB®-Beispiel wird das Skalarprodukt von drei Einheitsvektoren ({u,v,w}) in der Ebene berechnet:

{(3/21/2),(1/21/2),(01)}

u = [sqrt(3)/2 1/2];
v = [1/sqrt(2) 1/sqrt(2)];
w = [0 1];
% Three unit vectors in the plane
quiver([0 0 0],[0 0 0],[u(1) v(1) w(1)],[u(2) v(2) w(2)]);
axis([-1 1 0 1]);
text(-0.020,0.9371,'w');
text(0.6382,0.6623,'v');
text(0.7995,0.4751,'u');
% Compute inner products and print results
fprintf('The inner product of u and v is %1.2f\n', dot(u,v))
fprintf('The inner product of v and w is %1.2f\n', dot(w,v))
fprintf('The inner product of u and w is %1.2f\n', dot(u,w))

Ein Blick auf die Abbildung zeigt, dass sich u und v am meisten hinsichtlich ihrer Ausrichtung ähneln, während sich u und w am unähnlichsten sind.

Die Skalarprodukte erfassen diese geometrische Tatsache. Mathematisch ist das Skalarprodukt von zwei Vektoren u und v gleich dem Produkt ihrer Normen und des Kosinus des Winkels θ zwischen ihnen:

<u,v>=||u||||v||cos(θ)

In dem besonderen Fall, dass u und v Einheitsnorm oder Einheitsenergie haben, ist das Skalarprodukt gleich cos(θ) und liegt daher zwischen [-1,1]. In diesem Fall können Sie das Skalarprodukt direkt als Korrelationskoeffizient interpretieren. Wenn entweder u oder v keine Einheitsnorm hat, kann der Absolutwert des Skalarprodukts größer als 1 sein. Jedoch hängt das Skalarprodukt auch vom Kosinus des Winkels zwischen den beiden Vektoren ab, sodass es als eine Art Korrelation interpretiert werden kann. Beachten Sie, dass der Absolutwert des Skalarprodukts am größten ist, wenn der Winkel zwischen ihnen entweder 0 oder π Radiant (0 oder 180 Grad) beträgt. Das passiert, wenn ein Vektor ein reellwertiges skalares Vielfaches des anderen ist.

Zwar lassen sich Skalarprodukte in höherdimensionalen Räumen, wie sie bei den Fourier- und Wavelet-Transformationen auftreten, nicht so leicht geometrisch interpretieren wie das vorherige Beispiel, jedoch messen sie Ähnlichkeit auf dieselbe Weise. Die Nützlichkeit dieser Transformationen besteht weitgehend darin, dass sie im Wesentlichen die Korrelation zwischen dem Signal und einigen grundlegenden Funktionen mit bestimmten physikalischen Eigenschaften wie Frequenz, Skalierung oder Position zusammenfassen. Indem das Signal als Summe dieser einzelnen Teile verstanden wird, können wir die Mechanismen, die das Signal erzeugt haben, besser verstehen.

Fourier-Transformation

Die Fourier-Analyse wird als Ausgangspunkt für die Einführung der Wavelet-Transformationen verwendet und als Benchmark, um Fälle darzustellen, in denen die Wavelet-Analyse Signale auf hilfreichere Weise charakterisiert als die Fourier-Analyse.

Mathematisch wird der Prozess der Fourier-Analyse durch die Fourier-Transformation dargestellt:

F(ω)=f(t)ejωtdt.

, die das Integral (Summe) über die gesamte Zeit des Signals f(t) multipliziert mit einem komplexen Exponenten ist. Ein komplexer Exponent kann bekanntermaßen in sinusförmige Real- und Imaginärteile aufgeschlüsselt werden. Beachten Sie, dass die Fourier-Transformation eine Funktion einer einzelnen Variable einer anderen Funktion einer einzelnen Variable zuordnet.

Das Integral, dass die Fourier-Transformation definiert, ist ein Skalarprodukt. Unter Skalarprodukte finden Sie ein Beispiel dafür, wie Skalarprodukte die Ähnlichkeit zwischen zwei Signalen messen. Für jeden Wert ω produziert das Integral (bzw. die Summe) über alle Zeitwerte einen Skalar F(ω), der zusammenfasst, wie ähnlich die beiden Signale sind. Diese komplexwertigen Skalare sind die Fourier-Koeffizienten. Im Prinzip erhalten Sie durch Multiplikation der einzelnen Fourier-Koeffizienten (F(ω)) mit einem komplexen Exponenten (Sinuskurve) der Frequenz ω die einzelnen sinusförmigen Komponenten des ursprünglichen Signals. Grafisch sieht der Prozess folgendermaßen aus:

Da ejωt komplexwertig ist, ist F(ω) im Allgemeinen komplexwertig. Wenn das Signal stärkere Schwingungen bei einer Kreisfrequenz von ω0 enthält, wird der Absolutwert von F(ω0) groß sein. Indem eine Darstellung von |F(ω)| als eine Funktion der Kreisfrequenz untersucht wird, kann bestimmt werden, welche Frequenzen am stärksten zu der Variabilität von f(t) beitragen.

Um darzustellen, wie die Fourier-Transformation die Ähnlichkeit zwischen einem Signal und Sinuskurven unterschiedlicher Frequenzen erfasst, analysiert der folgende MATLAB-Code ein Signal aus zwei Sinuskurven mit 4 und 8 Hertz (Hz), das durch additives Rauschen gestört wird, mithilfe der diskreten Fourier-Transformation.

rng(0,'twister');
Fs = 128;
t = linspace(0,1,128);
x = 2*cos(2*pi*4*t)+1.5*sin(2*pi*8*t)+randn(size(t));
xDFT = fft(x);
Freq = 0:64;
subplot(211);
plot(t,x); xlabel('Seconds'); ylabel('Amplitude');
subplot(212);
plot(Freq,abs(xDFT(1:length(xDFT)/2+1)))
set(gca,'xtick',[4:4:64]);
xlabel('Hz'); ylabel('Magnitude');

Wenn man sich das Zeitsignal ansieht, lässt sich nur schwer bestimmen, welche erheblichen Schwingungen in den Daten vorhanden sind. Sieht man sich jedoch den Absolutwert der Koeffizienten der Fourier-Transformation als Frequenzfunktion an, lassen sich die dominanten Schwingungen bei 4 und 8 Hz leicht ausmachen.

Kurzzeit-Fourier-Transformation

Die Fourier-Transformation fasst die Ähnlichkeit zwischen einem Signal und einer Sinuskurve mit einer einzelnen komplexen Zahl zusammen. Die Größe der komplexen Zahl erfasst den Grad des Beitrags der Schwingungen bei einer bestimmten Frequenz zur Energie des Signals, während das Argument der komplexen Zahl Phaseninformationen erfasst. Beachten Sie, dass die Fourier-Koeffizienten keine Zeitabhängigkeit aufweisen. Die Fourier-Koeffizienten werden durch Integration oder Summierung über die gesamte Zeit erfasst, weshalb klar ist, dass diese Informationen verloren gehen. Sehen Sie sich die folgenden beiden Signale an:

Beide Signale bestehen aus einer einzelnen Sinuswelle mit einer Frequenz von 20 Hz. Beim oberen Signal überdauert die Sinuswelle jedoch die gesamten 1000 Millisekunden. In der unteren Darstellung beginnt die Sinuswelle bei 250 und endet bei 750 Millisekunden. Die Fourier-Transformation erkennt, dass die beiden Signale denselben Frequenzinhalt haben, sie kann jedoch nicht erfassen, dass sich die Dauer der 20-Hz-Schwingung bei den beiden Signalen unterscheidet. Zudem besitzt die Fourier-Transformation keinen Mechanismus, um den Beginn und das Ende der intermittierenden Sinuswelle zu kennzeichnen.

In dem Versuch, diesen Schwachpunkt zu korrigieren, passte Dennis Gabor (1946) die Fourier-Transformation an, um jeweils nur einen kleinen Abschnitt des Signals zu analysieren – eine Technik namens Windowing oder „Fensterung“ des Signals. Gabors Adaptation wird als Kurzzeit-Fourier-Transformation (Short-time Fourier Transform, STFT) bezeichnet. Bei dieser Technik wird eine Zeitfunktion oder ein Fenster ausgewählt, das im Wesentlichen nur in einem endlichen Intervall größer als 0 ist. Als ein Beispiel sehen Sie sich die folgende Gauß‘sche Fensterfunktion an:

w(t)=απeαt2

Die Gauß‘sche Funktion ist um t=0 in einem Intervall zentriert, der von dem Wert von α abhängt. Eine Verschiebung der Gauß‘schen Funktion um τ führt zu:

w(tτ)=απeα(tτ)2,

wodurch das Gauß‘sche Fenster um τ herum zentriert wird. Durch die Multiplikation eines Signals mit w(tτ) wird ein Teil des Signals ausgewählt, das bei τ zentriert ist. Nimmt man die Fourier-Transformation dieser gefensterten Segmente für unterschiedliche Werte von τ, erhält man die STFT. Mathematisch heißt das:

F(ω,τ)=f(t)w(tτ)ejωtdt

Die STFT ordnet eine Funktion einer Variable einer Funktion mit zwei Variablen, ω und τ, zu. Diese 2D-Darstellung eines 1D-Signals bedeutet, dass die STFT redundant ist. Die folgende Abbildung zeigt, wie die STFT ein Signal einer Zeit-Frequenz-Darstellung zuordnet.

Die STFT ist eine Art Kompromiss zwischen zeit- und frequenzbasierten Ansichten eines Signals. Sie gibt an, wann und bei welchen Frequenzen ein Signalereignis auftritt. Die Genauigkeit dieser Angaben ist jedoch begrenzt und wird durch die Größe des Fensters bestimmt.

Zwar kann der Kompromiss der STFT zwischen Zeit- und Frequenzangaben nützlich sein, jedoch besteht der Nachteil darin, dass das Zeitfenster nach Auswahl einer bestimmten Größe für alle Frequenzen gilt. Viele Signale erfordern einen flexibleren Ansatz, bei dem Sie die Fenstergröße variieren können, um Zeit oder Frequenz genauer zu bestimmen.

Anstatt die STFT in drei Dimensionen zu plotten, hat man sich darauf verständigt, |F(ω,τ)| auf einer Farbkarte als Intensität zu codieren. Berechnen und Anzeigen der STFT der beiden zuvor gezeigten 20-Hz-Sinuswellen unterschiedlicher Dauer:

Mit der STFT können Sie sehen, dass die intermittierende Sinuswelle bei fast 250 Millisekunden beginnt und bei etwa 750 Millisekunden endet. Zudem sehen Sie, dass sich die Energie des Signals bei etwa 20 Hz konzentriert.