Fourierreihen und FFT 9. Vorlesung 170 004 Numerische Methoden I Clemens Brand und Erika Hausenblas Montanuniversität Leoben 2. Juni 2016 Gliederung 9. Vorlesung 1 Fourierreihe Aufgabenstellung Basisvektoren und Basisfunktionen Fourierreihen Beispiele Diskrete Fourierreihe Fast Fourier Transform FFT Alising, Denoising mögliche Prüfungsfragen Clemens Brand und Erika Hausenblas 2. Juni 2016 2 / 30 Fourierreihe Gegeben: Sei T T →R f : − , 2 2 eine Funktion (die auf ganz R periodisch fortgesetzt wird). Die zu approximierende Funktion 1.2 Beispiel 1 f(t) 0.8 f : [−1, 1 ] t → R ( 7→ 0.6 0.4 1 0 Clemens Brand und Erika Hausenblas falls − 1/7 ≤ x ≤ 1/7, sonst. 0.2 0 −1 −0.5 0 t 0.5 2. Juni 2016 1 3 / 30 Fourierreihe Gegeben: Sei T T f : − , →R 2 2 eine Funktion (die auf ganz R periodisch fortgesetzt wird). Beispiel f : [−1, 1 ] → t 7→ R ( 1 0 falls − 1/7 ≤ x ≤ 1/7, sonst. Aufgabe: Zahlen a0 , a1 , b1 , a2 ,... zu finden, sodass gilt f (t) ∼ a0 + a1 cos(2πt) + b1 sin(2πt) + a2 cos(4πt) + · · · Clemens Brand und Erika Hausenblas 2. Juni 2016 4 / 30 Fourierreihe Gegeben: Sei T T f : − , →R 2 2 eine Funktion (die auf ganz R periodisch fortgesetzt wird). Beispiel f : [−1, 1 ] → t 7→ R ( 1 0 falls − 1/7 ≤ x ≤ 1/7, sonst. Aufgabe: Zahlen a0 , a1 , b1 , a2 ,... zu finden, sodass gilt f (t) ∼ a0 + a1 cos(2πt) + b1 sin(2πt) + a2 cos(4πt) + · · · Clemens Brand und Erika Hausenblas 2. Juni 2016 4 / 30 Fourierreihe Gegeben: Sei T T f : − , →R 2 2 eine Funktion (die auf ganz R periodisch fortgesetzt wird). Beispiel f : [−1, 1 ] → t 7→ R ( 1 0 falls − 1/7 ≤ x ≤ 1/7, sonst. Aufgabe: Zahlen a0 , a1 , b1 , a2 ,... zu finden, sodass gilt f (t) ∼ a0 + a1 cos(2πt) + b1 sin(2πt) + a2 cos(4πt) + · · · Clemens Brand und Erika Hausenblas 2. Juni 2016 4 / 30 Fourierreihe Gegeben: Sei T T f : − , →R 2 2 eine Funktion (die auf ganz R periodisch fortgesetzt wird). Aufgabe: Zahlen a0 , a1 , b1 , a2 ,... zu finden, sodass gilt 2πt 4πt f (t) = a0 + b1 sin + b2 sin + ... T T 2πt 4πt + a1 cos + a2 cos + ... T T ∞ X 2nπt 2nπt bn sin = a0 + + an cos . T T n=1 Clemens Brand und Erika Hausenblas 2. Juni 2016 5 / 30 Unser Beispiel a0 = 1/7, a1 = 1 π cos( π7 ), a2 = .. und b1 = b2 = · · · = 0. Näherung bis zum zweiten Mode Näherung bis zum fünften Mode 1 1.2 Approximation Exakte Funktion 0.9 Approximation Exakte Funktion 1 0.8 0.8 0.7 0.6 0.6 0.5 0.4 0.4 0.3 0.2 0.2 0 0.1 0 −1 −0.5 0 t 0.5 Clemens Brand und Erika Hausenblas 1 −0.2 −1 −0.5 0 t 0.5 1 2. Juni 2016 6 / 30 Unser Beispiel a0 = 1/7, a1 = 1 π cos( π7 ), a2 = .. und b1 = b2 = · · · = 0. Näherung bis zum zehnten Mode Näherung bis zum zwanzigsten Mode 1.2 1.2 Approximation Exakte Funktion Approximation Exakte Funktion 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 −0.2 −1 0 −0.5 0 t 0.5 Clemens Brand und Erika Hausenblas 1 −0.2 −1 −0.5 0 t 0.5 1 2. Juni 2016 7 / 30 Unser Beispiel a0 = 1/7, a1 = 1 π cos( π7 ), a2 = .. und b1 = b2 = · · · = 0. Näherung bis zum vierzigsten Mode Näherung bis zum achsigsten Mode 1.2 1.2 Approximation Exakte Funktion Approximation Exakte Funktion 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 −0.2 −1 0 −0.5 0 t 0.5 Clemens Brand und Erika Hausenblas 1 −0.2 −1 −0.5 0 t 0.5 1 2. Juni 2016 8 / 30 Basisvektoren ⇐⇒ Basisfunktionen 1 0 0 , 1 0 0 und 0 0 1 sin cos Clemens Brand und Erika Hausenblas 2nπt T : n ∈ IN und 2nπt : n ∈ IN T 2. Juni 2016 9 / 30 Basisvektoren ⇐⇒ Basisfunktionen 3 1 0 0 −2 = 3 0−2 1+4 0 4 0 0 1 Clemens Brand und Erika Hausenblas f (t) = a0 ∞ X 2nπt + bn sin T n=1 ∞ X 2nπt . + an cos T n=1 2. Juni 2016 10 / 30 Basisvektoren ⇐⇒ Basisfunktionen x1 1 0 0 x2 = x1 0+x2 1+x3 0 x3 0 0 1 Clemens Brand und Erika Hausenblas f (t) = a0 ∞ X 2nπt + bn sin T n=1 ∞ X 2nπt . + an cos T n=1 2. Juni 2016 11 / 30 Basisvektoren ⇐⇒ Basisfunktionen zweiter Fourierkoeffizient (cosinus) auf [−1,1] 1 0.8 0.6 0.6 0.4 0.4 0.2 0.2 cosinus(2 t π) cosinus( t π) erster Fourierkoeffizient (cosinus) auf [−1,1] 1 0.8 0 −0.2 0 −0.2 −0.4 −0.4 −0.6 −0.6 −0.8 −1 −1 −0.8 −0.5 0 t 0.5 1 −1 −1 −0.5 0 t Abbildung: Die ersten Basisfunktion der Familie cos Clemens Brand und Erika Hausenblas 0.5 nπt T 1 : n ∈ IN . 2. Juni 2016 12 / 30 Basisvektoren ⇐⇒ Basisfunktionen siebter Fourierkoeffizient (cosinus) auf [−1,1] 1 0.8 0.6 0.6 0.4 0.4 0.2 0.2 cosinus(7 t π) cosinus(3 t π) dritter Fourierkoeffizient (cosinus) auf [−1,1] 1 0.8 0 −0.2 0 −0.2 −0.4 −0.4 −0.6 −0.6 −0.8 −1 −1 −0.8 −0.5 0 t 0.5 1 −1 −1 −0.5 0 t Abbildung: Die ersten Basisfunktion der Familie cos Clemens Brand und Erika Hausenblas 0.5 nπt T 1 : n ∈ IN . 2. Juni 2016 13 / 30 Basisvektoren ⇐⇒ Basisfunktionen x1 1 x1 = x2 · 0 ; x3 0 0 x1 x2 = x2 · 1 ; 0 x3 x1 0 x3 = x2 · 0 ; x3 1 Clemens Brand und Erika Hausenblas bk ak = = T /2 1 T Z 1 T Z f (t) sin −T /2 T /2 2kπt T f (t) cos −T /2 2kπt T dt, k ≥ 1, dt k ≥ 1, und a0 = 1 T Z T /2 f (t) dt. −T /2 2. Juni 2016 14 / 30 Die Fourierreihe Original 1 0.9 0.8 0.7 f(t) 0.6 ( 0.5 f (t) = 0.4 0.3 1+ 1− 2t T 2t T für − T2 ≤ t ≤ 0, für 0 < t ≤ T2 . 0.2 0.1 0 −1 −0.5 Clemens Brand und Erika Hausenblas 0 t 0.5 1 2. Juni 2016 15 / 30 Die Fourierreihe 0−te Näherung 1.5 1 0.5 t 7→ 1 2 0 −0.5 −1 −0.5 Clemens Brand und Erika Hausenblas 0 t 0.5 1 2. Juni 2016 16 / 30 Die Fourierreihe 1−te Näherung 1 0.9 0.8 0.7 0.6 0.5 t 0.4 0.3 7→ 1 4 + cos(πt); 2 π2 0.2 0.1 0 −1 −0.5 Clemens Brand und Erika Hausenblas 0 t 0.5 1 2. Juni 2016 17 / 30 Die Fourierreihe 2−te Näherung 1 0.9 0.8 0.7 0.6 t 0.5 0.4 0.3 0.2 7→ 1 4 + cos(πt) 2 π2 4 + 2 cos(3πt) ; 9π 0.1 0 −1 −0.5 Clemens Brand und Erika Hausenblas 0 t 0.5 1 2. Juni 2016 18 / 30 Die Fourierreihe 3−te Näherung 1 0.9 0.8 0.7 0.6 t 0.5 0.4 0.3 0.2 7→ 1 4 + cos(πt) 2 π2 1 1 + cos(3πt) + cos(3πt) ; 9 25 0.1 0 −1 −0.5 Clemens Brand und Erika Hausenblas 0 t 0.5 1 2. Juni 2016 19 / 30 Die Fourierreihe 4−te Näherung 1 0.9 0.8 0.7 t 0.6 0.5 0.4 0.3 0.2 0.1 0 −1 −0.5 Clemens Brand und Erika Hausenblas 0 t 0.5 7→ 1 4 + cos(πt) 2 π2 1 1 + cos(3πt) + cos(5πt) 9 25 1 + cos(7πt) ; 49 1 2. Juni 2016 20 / 30 Die Fourierreihe Die Quadratfunktion Sei dazu f (t) = t 2 − 0.52 . Im ersten Bild sehen Sie die Funktion und die Näherung für N = 1, 2, 3, 5, 10 und 20. a a 0 0 0 0 −0.05 −0.05 −0.1 −0.1 −0.15 −0.15 −0.2 −0.2 −0.25 −0.5 −0.25 0 −0.5 ≤ t ≤ 0.5 Clemens Brand und Erika Hausenblas 0.5 −0.5 0 −0.5 ≤ t ≤ 0.5 0.5 2. Juni 2016 21 / 30 Die Fourierreihe Die Quadratfunktion Sei dazu f (t) = t 2 − 0.52 . Im ersten Bild sehen Sie die Funktion und die Näherung für N = 1, 2, 3, 5, 10 und 20. a a 0 0 0 0 −0.05 −0.05 −0.1 −0.1 −0.15 −0.15 −0.2 −0.2 −0.25 −0.5 −0.25 0 −0.5 ≤ t ≤ 0.5 Clemens Brand und Erika Hausenblas 0.5 −0.5 0 −0.5 ≤ t ≤ 0.5 0.5 2. Juni 2016 22 / 30 Die Fourierreihe Die Quadratfunktion Sei dazu f (t) = t 2 − 0.52 . Im ersten Bild sehen Sie die Funktion und die Näherung für N = 1, 2, 3, 5, 10 und 20. a a 0 0 0 0 −0.05 −0.05 −0.1 −0.1 −0.15 −0.15 −0.2 −0.2 −0.25 −0.5 −0.25 0 −0.5 ≤ t ≤ 0.5 Clemens Brand und Erika Hausenblas 0.5 −0.5 0 −0.5 ≤ t ≤ 0.5 0.5 2. Juni 2016 23 / 30 Die Diskrete Fourierreihe Gegeben: Sei f : [−π, π] → R eine Funktion, π = {−π = t0 < t1 < . . . < tN−1 = π} eine Partition des Intervalls [−π, π] und f = (f0 , . . . , fN−1 ) die Funktionswerte der Funktion auf der Partition. Es gilt ja: ck = 1 T Z T /2 f (t) e −iωk t dt −T /2 Approximation des Integrals durch eine Summe: ck ∼ fˆ(k) := N X e− 2iπ (j−1)(k−1) N f (tj ). j=1 Clemens Brand und Erika Hausenblas 2. Juni 2016 24 / 30 Die Diskrete Fourierreihe Gegeben: Sei f : [−π, π] → R eine Funktion, π = {−π = t0 < t1 < . . . < tN−1 = π} eine Partition des Intervalls [−π, π] und f = (f0 , . . . , fN−1 ) die Funktionswerte der Funktion auf der Partition. Es gilt ja: ck = 1 T Z T /2 f (t) e −iωk t dt −T /2 Approximation des Integrals durch eine Summe: ck ∼ fˆ(k) := N X e− 2iπ (j−1)(k−1) N f (tj ). j=1 Clemens Brand und Erika Hausenblas 2. Juni 2016 24 / 30 Die Diskrete Fourierreihe Gegeben: Sei f : [−π, π] → R eine Funktion, π = {−π = t0 < t1 < . . . < tN−1 = π} eine Partition des Intervalls [−π, π] und f = (f0 , . . . , fN−1 ) die Funktionswerte der Funktion auf der Partition. Es gilt ja: ck = 1 T Z T /2 f (t) e −iωk t dt −T /2 Approximation des Integrals durch eine Summe: ck ∼ fˆ(k) := N X e− 2iπ (j−1)(k−1) N f (tj ). j=1 Clemens Brand und Erika Hausenblas 2. Juni 2016 24 / 30 Die Diskrete Fourierreihe Gegeben: Sei f : [−π, π] → R eine Funktion, π = {−π = t0 < t1 < . . . < tN−1 = π} eine Partition des Intervalls [−π, π] und f = (f0 , . . . , fN−1 ) die Funktionswerte der Funktion auf der Partition. Es gilt ja: ck = 1 T Z T /2 f (t) e −iωk t dt −T /2 Approximation der Rücktransformierten: N 1 X − 2iπ (−(j−1)(k−1)) ˆ f (tj ) ∼ f (j) := e N f (k). N k=1 Clemens Brand und Erika Hausenblas 2. Juni 2016 25 / 30 Die schnelle Fouriertransformation Die Gleichung der Kurve lautet f (x) = 0.3 exp(−0.9t) (sin(10πt) + cos(0.2πt) − sin(5πt)) . Sine Wave Signal Power Spectrum of a Sine Wave 7 The inverse Fourier Signal 35 6 30 5 6 5 2 Amplitude 3 3 Power Amplitude 4 25 4 20 15 1 2 1 0 10 0 −1 5 −1 0 −2 −2 −3 0 0.2 0.4 0.6 0.8 1 0 1 2 Time (s) 3 4 5 Frequency (Hz) 6 7 8 9 0 0.2 0.4 0.6 0.8 1 Time (s) Abbildung: Approximation der Funktion mittels der FFT (17 Datenpunkte) Sine Wave Signal Power Spectrum of a Sine Wave 90 7 6 80 6 5 5 70 4 4 60 2 Amplitude 3 Power Amplitude The inverse Fourier Signal 7 50 40 1 30 0 −3 0 0.2 0.4 0.6 0.8 1 Time (s) 0 1 −1 10 −2 2 0 20 −1 3 −2 0 5 10 15 Frequency (Hz) 20 25 30 −3 0 0.2 0.4 0.6 0.8 1 Time (s) Abbildung: Approximation der Funktion mittels der FFT (51 Datenpunkte) Clemens Brand und Erika Hausenblas 2. Juni 2016 26 / 30 Alising Alising: Als Alias-Effekte (auch Aliasing-Effekte oder kurz Aliasing) werden im Bereich der Signalanalyse Fehler bezeichnet, die auftreten, wenn im abzutastenden Signal Frequenzanteile vorkommen, die höher als die halbe Abtastfrequenz sind, oder, mit anderen Worten, ein Signal in zu großen Abständen abgetastet wurde. Urspruengliche Kurve Approximation 2 Approximation und exakte Kurve 2 eigentliche Kurve Abtastpunkte 1.5 2 Approximation ifft 1.5 1 1 1 0.5 0.5 0.5 0 0 0 −0.5 −0.5 −0.5 −1 −1 −1 −1.5 −1.5 −1.5 −2 0 2 4 6 8 10 t −2 0 2 4 6 8 Exakte Kurve Approximation Abtastpunkte 1.5 10 −2 0 2 t 4 6 8 10 t Abbildung: Der Alising Effekt Clemens Brand und Erika Hausenblas 2. Juni 2016 27 / 30 Denoising 5 Amplitude Amplitude 5 0 −5 0 −5 0 0.5 1 1.5 2 Time (s) 2.5 3 3.5 4 0 4 2 0 0.5 1 1.5 2 Time (s) 2.5 3 3.5 4 6 Amplitude Amplitude bin da 6 0 5 10 Frequency (Hz) 15 4 2 0 20 0 5 10 Frequency (Hz) 15 20 Amplitude 5 6 0 −5 4 0 0.5 1 2 1.5 2 Time (s) 2.5 3 3.5 4 6 Amplitude 0 −2 4 2 −4 −6 −0.2 0 −0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 Clemens Brand und Erika Hausenblas 0 5 10 Frequency (Hz) 15 20 2. Juni 2016 28 / 30 Denoising Clemens Brand und Erika Hausenblas 2. Juni 2016 29 / 30 mögliche Prüfungsfragen Fouriertransfomierte Hier im Bild ist die Fouriertransformierte abgebildet. Wie könnte die zugehörige Funktion aussehen: 3 2.5 2 Amplitude I 1.5 1 0.5 0 0 2 4 6 Omega I Können Sie den Begriff „Alising“ erklären. 8 10