28.02.2014 Aufrufe

Fourierreihen und Fouriertransformation - Fachhochschule ...

Fourierreihen und Fouriertransformation - Fachhochschule ...

Fourierreihen und Fouriertransformation - Fachhochschule ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Fourierreihen</strong> <strong>und</strong> <strong>Fouriertransformation</strong> 70<br />

Wie die obigen Matlab-Zeilen zeigen, ist die fft eine rein abstrakte Transformation von<br />

n Daten, resp. Funktionswerten y k in n andere Werte c k . Physikalisch enthalten die c k die<br />

Information über die Amplituden der vorkommenden Frequenzen. Die zeitlichen Stützwerte<br />

t k gehen gar nicht als input in die fft-Prozedur ein. Per Definition verwendet Matlab<br />

fft das Periodenintervall [0, 2N].<br />

Wenn mit Hilfe der durch fft gelieferten c k die Funktionsgleichung des interpolierenden<br />

trigonometrischen Polynoms in der Form<br />

N<br />

( ) ( ) ∑ − 1<br />

α<br />

0<br />

α<br />

N<br />

f t = + cos Nω0t<br />

+ ( α<br />

k<br />

cos( kω0t) + β<br />

k<br />

sin( kω0t)<br />

)<br />

2 2<br />

k = 1<br />

ermitteln werden soll (um es z. B. zeichnen zu können), dann müssen wir zweierlei wissen.<br />

1. Beziehungen zwischen den komplexen Fourierkoeffizienten c k , welche von einem fft<br />

Algorithmus geliefert werden <strong>und</strong> den reellen Fourierkoeffizienten α k <strong>und</strong> β k .<br />

2. Die konkreten Zeitwerte t k .<br />

Beziehung zwischen den c k (Matlab) <strong>und</strong> den α k , β k (Theorie)<br />

Wir gehen aus von n = 2N Funktionswerten <strong>und</strong> der Funktionsgleichung<br />

N<br />

( ) ( ) ∑ − 1<br />

α<br />

0<br />

α<br />

N<br />

f t = + cos Nω0t<br />

+ ( α<br />

k<br />

cos( kω0t) + β<br />

k<br />

sin( kω0t)<br />

)<br />

2 2<br />

k = 1<br />

Dann gelten die folgenden Beziehungen. Wir beachten, dass in Matlab die Vektoren mit<br />

Index 1 beginnen. In der Literatur (<strong>und</strong> auch bei uns) beginnen wir in der Regel mit c 0 , a 0 ,<br />

y 0 = f (t 0 ), etc.<br />

Theorie<br />

Matlab-Code<br />

1<br />

α 0 =<br />

2N<br />

c0 a0 = c(1)/(2*N)<br />

1<br />

α k = Re(ck ), k = 1,<br />

, N −1<br />

a(k) = 2*real(c(k+1))/(2*N)<br />

N<br />

1<br />

β k = – Im(ck ), k = 1,<br />

, N −1<br />

b(k) = -2*imag(c(k+1))/(2*N)<br />

N<br />

1<br />

α N = cN a(N) = c(N+1)/(2*N)<br />

2N<br />

Für den Beweis der obigen Beziehungen siehe Kapitel 7.<br />

Die so ermittelten α k <strong>und</strong> β k liefern Interpolation an den Stützwerten<br />

t k<br />

= k , k = 0, ,2N<br />

−1<br />

fft() liefert also eine T = 2N-periodische Funktion (Signal), d. h. das ω 0 in der obigen<br />

Funktionsgleichung des trigonometrischen Polynoms hat den Wert<br />

2π<br />

2π<br />

π<br />

ω<br />

0<br />

= = = .<br />

T 2N<br />

N

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!