Kapitel 3 – Trigonometrische Interpolation

Werbung
Kapitel 3 – Trigonometrische Interpolation




Einführung in die Fourier-Reihen
Trigonometrische Interpolation
Schnelle Fourier-Transformation (FFT)
Zusammenfassung
Numerische Mathematik II
Herbsttrimester 2012
1
Motivation:
Fourierreihen sind ein äußerst nützliches Werkzeug zur Darstellung
periodischer Funktionen. In der Numerik interessieren wir uns
besonders für die diskrete Fourier-Transformation die uns die
Werkzeuge bereitstellt die dabei auftretenden Koeffizienten und
Integrale zu berechnen.
Satz 3.1 Eine periodische Funktion 𝑔 auf 0, 𝑇 lässt sich unter
bestimmten Voraussetzungen (z.B. 𝑔 stetig und abschnittweise stetig
diffbar) als Reihe von Sinus- und Cosinus-Funktionen darstellen deren
2𝜋
Frequenzen Vielfache der Grundfrequenz 𝜔 = = 2𝜋𝑓 sind:
𝑎0
𝑔 𝑡 =
+
2
2
𝑎𝑘 =
𝑇
𝑇
∞
𝑘=1
𝑇
𝑘2𝜋𝑡
𝑘2𝜋𝑡
𝑎𝑘 cos
+ 𝑏𝑘 sin
𝑇
𝑇
𝑔 𝑡 cos(𝑘𝜔𝑡) 𝑑𝑡
0
2
𝑏𝑘 =
𝑇
𝑇
𝑔 𝑡 sin(𝑘𝜔𝑡) 𝑑𝑡
0
Beweis: siehe Analysis.
Numerische Mathematik II
Herbsttrimester 2012
2
Exkurs: Komplexe Zahlen
Die komplexen Zahlen erweitern die reellen Zahlen derart, dass z.B. die
Gleichung 𝑥 2 + 1 = 0 lösbar wird mit der Lösung 𝑥 = 𝑖. Offenbar gilt
𝑖 2 = −1. Wir wollen einige Rechenregeln und Definitionen wiederholen.
Sei 𝑦 = 𝑎 + 𝑖𝑏 und 𝑧 = 𝑐 + 𝑖𝑑 dann ist
 𝑦 + 𝑧 = (𝑎 + 𝑐) + 𝑖(𝑏 + 𝑑)
 𝑦 ⋅ 𝑧 = (𝑎𝑐 − 𝑏𝑑) + 𝑖(𝑎𝑑 + 𝑏𝑐) (durch ausmultiplizieren)
 Re 𝑦 = 𝑎, Im 𝑦 = 𝑏
 |𝑦| = 𝑎2 + 𝑏 2
 𝑦 = 𝑎 − 𝑖𝑏 bezeichnet die zu 𝑦 komplex konjugierte Zahl. Es gelten
die Rechenregeln:
𝑦 + 𝑧 = 𝑦+𝑧, 𝑦 ⋅ 𝑧 = 𝑦 ⋅ 𝑧, 𝑧 ⋅ 𝑧 = 𝑧 2 , z + 𝑧 = 2Re 𝑧 , z − 𝑧 =
2i Im 𝑧
 Es gilt der wichtige Zusammenhang:
𝑒 𝑖𝑥 = cos 𝑥 + 𝑖sin(𝑥)
was man z.B. sehr schön an den Taylorreihen ablesen kann.
Numerische Mathematik II
Herbsttrimester 2012
3
Lemma 3.2
Die Fourierreihe hat folgende alternative Darstellungen:
 Amplituden-Phasen Darstellung (alternativ auch mittels Sinus):
∞
𝑎0
𝑔 𝑡 =
+
𝐴𝑘 cos( 𝑘𝜔𝑡 − 𝜑𝑘 ) mit Ak = 𝑎𝑘2 + 𝑏𝑘2
2
𝑘=1
𝑏𝑘
𝑏𝑘
𝜑𝑘 = arctan , 𝑎𝑛 > 0; arctan + 𝜋 , 𝑎𝑘 < 0; sgn 𝑏𝑘 , 𝑎𝑘 = 0
𝑎𝑘
𝑎𝑘
 Komplexe Fourierreihe:
∞
𝑐𝑘 𝑒 𝑖𝑘𝜔𝑡
𝑔 𝑡 =
𝑘=−∞
1
𝑚𝑖𝑡 𝑐𝑘 =
𝑇
𝑇
𝑔 𝑡 𝑒 𝑖𝑘𝜔𝑡 𝑑𝑡
0
Dabei bezeichnet 𝑖 die imaginäre Einheit. Die 𝑐𝑘 sind komplexe
Zahlen. Es gilt folgender Zusammenhang zu den Koeffizienten aus
Satz 3.1: 𝑎𝑘 = 𝑐𝑘 + 𝑐−𝑘 , 𝑏𝑘 = 𝑖(𝑐𝑘 − 𝑐−𝑘 ).
Numerische Mathematik II
Herbsttrimester 2012
4
Beweis:
Aus der Amplituden-Phasen Darstellung erhält man mittels der
Additionstheoreme cos 𝛼 − 𝛽 = cos 𝛼 cos 𝛽 + sin 𝛼 sin(𝛽) :
𝐴𝑘 cos( 𝑘𝜔𝑡 − 𝜑𝑘 ) = {𝐴𝑘 cos( 𝜑𝑘 )} cos( 𝑘𝜔𝑡)+ {𝐴𝑘 sin( 𝜑𝑘 )} sin( 𝑘𝜔𝑡)
und damit die Äquivalenz der ersten beiden Darstellungen.
Mittels der Moivre‘schen Formel 𝑒 𝑖𝑥 = cos 𝑥 + 𝑖 sin 𝑥 sieht man:
∞
∞
𝑐𝑘 𝑒 𝑖𝑘𝜔𝑡 = 𝑐0 +
𝑘=−∞
𝑘=1
∞
𝑐0 +
𝑐𝑘 𝑒 𝑖𝑘𝜔𝑡 + 𝑐−𝑘 𝑒 −𝑖𝑘𝜔𝑡 =
𝑐𝑘 (cos 𝑘𝜔𝑡 + 𝑖 sin(𝑘𝜔𝑡 )) + 𝑐−𝑘 cos −𝑘𝜔𝑡 + 𝑖 sin −𝑘𝜔𝑡
=
𝑘=1
∞
𝑐0 +
𝑐𝑘 (cos 𝑘𝜔𝑡 + 𝑖 sin(𝑘𝜔𝑡 )) + 𝑐−𝑘 (cos 𝑘𝜔𝑡 − 𝑖 sin(𝑘𝜔𝑡 ))
𝑘=1
Also gilt : 𝑎𝑘 = 𝑐𝑘 + 𝑐−𝑘 , 𝑏𝑘 = 𝑖(𝑐𝑘 − 𝑐−𝑘 ).
Numerische Mathematik II
Herbsttrimester 2012
5
Bemerkungen:
 Analog zum letzten Teil des Beweises von Satz 3.2 sieht man, dass
für eine reelle Funktion 𝑔 gilt 𝑐𝑘 = 𝑐−𝑘 . Daraus folgt, dass
(i) 𝑏𝑘 = 𝑖(𝑐𝑘 − 𝑐−𝑘 ) tatsächlich reell ist
(ii) dass für eine reelle Funktion nur die Hälfte der 𝑐𝑘 unabhängig
sind.
 In der praktischen Anwendung wird die Fourier-Reihe üblicherweise
nach endlich vielen Gliedern abgebrochen.
Numerische Mathematik II
Herbsttrimester 2012
6
Wir wenden uns jetzt dem Interpolationsproblem zu und betrachten
eine äquidistante Einteilung des Intervalls 0, 𝑇 in 𝑛 + 1 Stützstellen:
𝑇
𝑡𝑗 = 𝑗 , 𝑗 = 0, … , 𝑛 − 1. Die zu interpolierende Funktion sei periodisch
𝑛
mit Periode 𝑇: 𝑔0 ≔ 𝑔 0 = 𝑔 𝑇 = 𝑔𝑛 . Wir setzten für
𝑎0
𝑛 = 2𝑚 + 1: 𝑔 𝑡 =
+
2
𝑎0
𝑛 = 2𝑚: 𝑔 𝑡 =
+
2
𝑚−1
𝑘=1
𝑚
𝑘=1
𝑘2𝜋𝑡
𝑘2𝜋𝑡
𝑎𝑘 cos
+ 𝑏𝑘 sin
𝑇
𝑇
𝑘2𝜋𝑡
𝑘2𝜋𝑡
𝑚2𝜋𝑡
𝑎𝑘 cos
+ 𝑏𝑘 sin
+ am cos
𝑇
𝑇
𝑇
und suchen geeignete Koeffizienten so dass gilt: 𝑔𝑘 ≔ 𝑔 𝑡𝑘 .
In beiden Fällen kann dies auch geschrieben werden als komplexe
Fourier-Reihe:
𝑚
𝑐𝑘 𝑒 𝑖𝑘𝜔𝑡
𝑔 𝑡 =
𝑘=−𝑚
Numerische Mathematik II
Herbsttrimester 2012
7
Dabei gilt für die Koeffizienten:
𝑛 = 2𝑚 + 1: 𝑎𝑘 = 𝑐𝑘 + 𝑐−𝑘 , 𝑏𝑘 = 𝑖 𝑐𝑘 − 𝑐−𝑘 , 𝑘 = 0, … , 𝑚
𝑛 = 2𝑚: 𝑎𝑚 = 2𝑐𝑚 = 2𝑐−𝑚 und wie zuvor für 𝑘 = 0, … , 𝑚 − 1
Beachten Sie, dass für diese Wahl wie gewünscht 𝑏𝑚 = 0 und dass wir
durch diese Festlegung die korrekte Anzahl an freien Koeffizienten für
unsere Interpolationsaufgabe erhalten.
Mit der Kreisfrequenz 𝜔 =
𝑚
𝑔𝑗 = 𝑔 𝑡𝑗 =
𝑐𝑘 𝑒
𝑖𝑘𝜔𝑡𝑗
2𝜋
𝑇
= 2𝜋𝑓 lautet das Interpolationsproblem:
𝑚
bzw. 𝑔𝑗 = 𝑔 𝑡𝑗 =
𝑘=−𝑚
Mittels der Moivre‘schen Formel sieht man:
−𝑘𝑗
𝑖 2𝜋 𝑛
𝑒
𝑖 2𝜋
−𝑘𝑗+𝑗𝑛
𝑛
−𝑘𝑗
𝑒 2𝜋𝑖 𝑛
𝑘=−𝑚
𝑒 𝑖(2𝜋𝑗+𝑥)
2𝜋𝑖
𝑘𝑗
2𝜋𝑖 𝑛
𝑐𝑘 𝑒
(∗)
= 𝑒 𝑖𝑥 und daher
(𝑛−𝑘)𝑗
𝑛
=𝑒
oder
=𝑒
. Mit anderen Worten
die Exponentialterme sind periodisch in 𝑘 mit Periode 𝑛 . Daher
schreibt man (∗) oftmals auch in der Form
𝑛−1
𝑔 𝑡𝑗 =
𝑛−1
𝑐𝑘 𝑒
𝑖𝑘𝜔𝑡𝑗
=
𝑘=0
Numerische Mathematik II
Herbsttrimester 2012
𝑘𝑗
2𝜋𝑖 𝑛
𝑐𝑘 𝑒
𝑘=0
8
Setzt man 𝑧 𝑡 ≔ 𝑒 𝑖𝜔𝑡 erhält man daraus die Darstellung
𝑛−1
𝑛−1
𝑐𝑘 𝑒 𝑖𝑘𝜔𝑡𝑗 =
𝑔 𝑡𝑗 =
𝑘=0
𝑐𝑘 𝑧(𝑡𝑗 )𝑘
𝑘=0
Dies erklärt den Namen trigonometrisches Polynom für eine endliche
Fourier-Reihe.
Die Interpolationsaufgabe ist daher äquivalent zur Bestimmung eines
komplexen Polynoms vom Grad 𝑛 welches in den Punkten 𝑧(𝑡𝑗 ) die
Werte 𝑔𝑗 annimmt. Der in Kapitel 1 durchgeführte Beweis zur
Polynominterpolation ist auch gültig für komplexe Zahlen. Daraus
schließt man, dass die obige Aufgabe eindeutig lösbar ist.
Im Folgenden wollen wir eine Darstellung für die Koeffizienten
angeben.
Numerische Mathematik II
Herbsttrimester 2012
9
Satz 3.3
Zu beliebigen Stützstellen 𝑡𝑘 , 𝑔𝑘 , 𝑘 = 0, … , 𝑛 − 1 mit komplexen 𝑔𝑘 und
𝑇
𝑛
𝑡𝑗 = 𝑗 gibt es ein eindeutig bestimmtes trigonometrisches Polynom
𝑛−1
𝑐𝑘 𝑒 𝑖𝜔𝑘𝑡𝑗 mit 𝑔 𝑡𝑗 = 𝑔𝑗 .
𝑔 𝑡𝑗 =
𝑘=0
Für die Koeffizienten gilt die Darstellung:
1
𝑐𝑗 =
𝑛
𝑛−1
𝑔𝑘 𝑒
−2𝜋𝑖
𝑘𝑗
𝑛,𝑗
= 0, … , 𝑛 − 1.
𝑘=0
Die komplexe Abbildungℱ 𝑔0 , … , 𝑔𝑛−1 = (𝑐0 , … , 𝑐𝑛−1 ) heißt diskrete
Fourier-Transformation (DFT). Für Ihre Umkehrung, die FourierSynthese, gilt:
𝑛−1
𝑔𝑗 =
𝑘𝑗
2𝜋𝑖 𝑛
𝑐𝑘 𝑒
,𝑗
= 0, … , 𝑛 − 1,
𝑘=0
Man kann also fast den gleichen Algorithmus für Transformation und
Synthese verwenden.
Numerische Mathematik II
Herbsttrimester 2012
10
𝑘𝑗
2𝜋𝑖
𝑛−1
𝑛
𝑘=0 𝑐𝑘 𝑒
Beweis: wir multiplizieren 𝑔𝑗 =
mit 𝑒
0 ≤ 𝑚 ≤ 𝑛 − 1 summieren über 𝑗 und erhalten:
𝑛−1
𝑔𝑗 ⋅
𝑚𝑗
−2𝜋𝑖 𝑛
𝑒
𝑗=0
𝑛−1 𝑛−1
=
(𝑘−𝑚)𝑗
2𝜋𝑖
𝑛
𝑐𝑘 𝑒
𝑛−1
=
𝑗=0 𝑘=0
−2𝜋𝑖
𝑚𝑗
𝑛
𝑛−1
𝑐𝑘
𝑘=0
𝑒
2𝜋𝑖
wobei
(𝑘−𝑚)𝑗
𝑛
(∗)
𝑗=0
Wir betrachten den letzten Summanden und zeigen:
𝑛−1
𝑒
2𝜋𝑖
𝑘−𝑚 𝑗
𝑛
= 𝑛 𝛿𝑘𝑚 (∗∗)
𝑗=0
Für 𝑘 = 𝑚 ist die Behauptung klar. Sei nun 𝑘 ≠ 𝑚. Die obige Summe ist
eine geometrische Reihe und es gilt:
𝑛−1
(𝑘−𝑚)𝑗
2𝜋𝑖
𝑛
𝑒
=
1−𝑒
2𝜋𝑖
2𝜋𝑖
𝑘−𝑚 𝑛
𝑛
(𝑘−𝑚)
𝑛
1−𝑒
Betrachten wir hiervon den Zähler so gilt
1 − 𝑒 2𝜋𝑖(𝑘−𝑚) = 1 − cos(2𝜋 𝑘 − 𝑚 ) − sin(2𝜋 𝑘 − 𝑚 ) = 0
Aus (∗) und (∗∗) folgt dann die Behauptung für die DFT. Der Beweis für
die Synthese erfolgt mehr oder weniger analog.
𝑗=0
Numerische Mathematik II
Herbsttrimester 2012
11
Bemerkungen:
 Für DFT und IDFT (=inverse DFT) gilt (jedoch nicht bei der
Festlegung der Koeffizienten für die Interpolation):
1
Die Normierungsfaktoren 1 bzw. sind Konvention. Das Produkt der
Faktoren muss nur
1
𝑛
1
𝑛
𝑛
ergeben. (Beispielsweise definiert Matlab die
DFT ohne Faktor )
 Das gleiche gilt für die Vorzeichen der Exponentialterme. Diese
müssen für DFT und IDFT nur entgegengesetzt sein.
 Die DFT ist eine Abbildung von n komplexen Zahlen auf n komplexe
Zahlen. Sie hängt nicht von dimensionsbehafteten Größen wie z.B.
Δ ab.
Numerische Mathematik II
Herbsttrimester 2012
12
Bemerkungen:
 Mit Fourier-Reihen lassen sich nur periodische Funktionen
darstellen. Um auch nichtperiodische Funktionen 𝑔 darstellen zu
können dehnt man den Definitionsbereich aus ins Unendliche und
erhält dann die sogenannte (kontinuierliche) Fourier-Transformation:
∞
ℱ 𝑔 𝜔 =
𝑔 𝑡 𝑒 −𝑖𝜔𝑡 𝑑𝑡
−∞
In der Praxis möchte man häufig die Fourier-Transformation von
diskreten Daten 𝑔𝑘 zu den Stützstellen 𝑡𝑘 = 𝑘𝛥, 𝑘 = 0, … , n − 1
2𝜋𝑗
auswerten mit den diskreten Kreisfrequenzen 𝜔𝑗 = 2𝜋𝑓𝑗 =
für
𝑗=
𝑛
𝑛
− ,…, .
2
2
𝑛Δ
Ein naiver Ansatz liefert (vgl. mit Satz 3.3):
𝑛−1
∞
ℱ 𝑔 𝜔𝑗 =
𝑔 𝑡 𝑒
−𝑖𝜔𝑗 𝑡
𝑑𝑡 ≈ Δ
−∞
𝑔𝑘 𝑒
𝑘𝑗
−2𝜋𝑖 𝑛
𝑘=0
1
 Die Frequenz 𝑓𝑛/2 = heißt Nyquist-Frequenz. Sie besagt, dass
2Δ
eine Sinuskurve an mindestens 2 Punkten abgetastet werden muss.
In anderen Worten: Abtastfrequenz > 2 maximale Signal-Frequenz.
Numerische Mathematik II
Herbsttrimester 2012
13
Bemerkungen:
 Wendet man die DFT auf einen Abschnitt 0, 𝑇 einer unendlichen
Zeitreihe an entspricht das der Multiplikation der Ausgangsfunktion
mit einer Fensterfunktion der Form
𝑤 𝑥 = 1 falls 0 ≤ 𝑡 ≤ 𝑇 𝑤 𝑥 = 0 sonst.
 Nach einem Satz der Fourier-Analyse entspricht das Produkt von
zwei Funktionen im Zeitbereich der Faltung der beiden FourierTransformierten im Frequenzbereich. Dabei ist die Faltung von zwei
Funktionen definiert durch
∞
𝑔 ∗ ℎ (𝑡) =
𝑔 𝜏 ℎ 𝑡 − 𝜏 𝑑𝜏
−∞
 Da die Fourier-Transformierte eines
Rechteckimpulses stark oszilliert,
ist es mitunter ratsam die Daten vor
der Analyse mit einer speziellen
Fensterfunktion zu multiplizieren
die bessere Eigenschaften hat.
Numerische Mathematik II
Herbsttrimester 2012
14
Beispiel 3.1
Wir berechnen das trigonometrische Polynom auf 0,2𝜋 zu den drei
Stützstellen:
𝒕𝒋
0
𝒈𝒋 = 𝐜𝐨𝐬(𝒕𝒋 )
1
2𝜋
3
-0.5
4𝜋
3
-0.5
4𝜋
3
-0.5
8𝜋
−
3
-0.5
Wir benötigen folgende Funktionswerte:
2𝜋
−
3
-0.5
𝒕
𝐜𝐨𝐬(𝒕)
𝐬𝐢𝐧(𝒕)
−
-0.866… 0.866…
-0.866…
Und stellen zunächst fest (Moivre)
𝒕
0
𝒆𝒊𝒕
1
Numerische Mathematik II
2𝜋
3
-0.5-0.866i
−
Herbsttrimester 2012
4𝜋
3
-0.5+0.866i
−
8𝜋
3
-0.5-0.866i
−
15
Wir bestimmen nun 𝑐𝑗 gemäß Satz 3.3 und mit Hilfe der obigen Tabelle
1
𝑐𝑗 =
3
𝑛−1
𝑔𝑘 𝑒
−2𝜋𝑖
𝑘𝑗
3 ,𝑗
= 0,1,2.
𝑘=0
Es folgt:
1
𝑐0 = 1 ⋅ 1 − 0.5 ⋅ 1 − 0.5 ⋅ 1 = 0
3
1
13 1
c1 = 1 ⋅ 1 − 0.5 ⋅ (−0.5−0.866i) − 0.5 ⋅ (−0.5+0.866i ) =
=
3
32 2
1
13 1
c2 = 1 ⋅ 1 − 0.5 ⋅ (−0.5 + 0.866i) − 0.5 ⋅ (−0.5−0.866i ) =
=
3
32 2
und somit 𝑎0 = 0, 𝑎1 = 𝑐1 + 𝑐−1 = 𝑐1 + 𝑐2 = 1, sowie 𝑏1 = 𝑖 𝑐1 − 𝑐2 = 0.
Damit wird die Fourierreihe zu
𝑎0
+
2
1
𝑎𝑘 cos
𝑘=1
Numerische Mathematik II
𝑘2𝜋𝑡
𝑘2𝜋𝑡
+ 𝑏𝑘 sin
= cos 𝑡 .
𝑇
𝑇
Herbsttrimester 2012
16
Beispiel 3.2
Wir betrachten die periodische Fortsetzung der Sägezahnfunktion
g 𝑥 = 𝑥, 𝑥 ∈ 0,2𝜋 . Wir nähern die exakten Koeffizienten aus Satz 3.1
durch eine DFT der Sägezahnfunktion mit sehr großem 𝑛=2*m+1 an
und erhalten die ersten 6 Koeffizienten 𝑐𝑖 , 𝑖 = 0, … , 5 zu
ans =
3.1416 -0.0000 + 1.0000i
-0.0000 + 0.5000i
-0.0000 + 0.3333i
-0.0000 + 0.2500i
-0.0000 + 0.2000i
sowie die letzten 5 Glieder Glieder der DFT 𝑐𝑖 , 𝑖 = n − 5, … , n − 1 zu
ans =
-0.0000 - 0.2000i
-0.0000 - 0.2500i
-0.0000 - 0.3333i
-0.0000 - 0.5000i
-0.0000 - 1.0000i
Vermöge der Formeln 𝑎𝑘 = 𝑐𝑘 + 𝑐−𝑘 , 𝑏𝑘 = 𝑖(𝑐𝑘 − 𝑐−𝑘 ) wollen wir die
Entwicklung der Sägezahnfunktion in Sinus und Cosinus Termen
angeben. Wir beachten dabei 𝑐−k = cn−k . Die letzten 5 Glieder
entsprechen also den Gliedern 𝑐−5 , … , 𝑐−1 .
Wir erhalten den sogenannten Gleichanteil 𝑎0 = 𝜋
Weiter gilt: 𝑎𝑖 = 𝑐𝑖 + 𝑐−𝑖 = 0, sowie
𝑏𝑘 = 𝑖 𝑐𝑘 − 𝑐−𝑘 = −(Im 𝑐𝑘 − Im 𝑐−𝑘 ) = −2/𝑘
Numerische Mathematik II
Herbsttrimester 2012
17
Wir vermuten also die Darstellung (das obige Vorgehen ist natürlich
kein Beweis):
∞
2
𝑔 𝑥 =𝜋+
− sin(𝑘𝑥)
𝑘
𝑘=1
In der Tat kann man mit Hilfe von Satz 3.1 die obige Formel bestätigen.
Die folgenden Abbildungen zeigen die Sägezahnfunktion in schwarz,
links die einzelnen Terme der Reihenentwicklung, sowie rechts die
entsprechenden Partialsummen.
7
7
6
6
5
5
4
3
4
2
3
1
2
0
1
-1
-2
0
1
Numerische Mathematik II
2
3
4
5
6
0
Herbsttrimester 2012
0
1
2
3
4
5
6
18
Beispiel 3.3 In der Praxis kann man natürlich nicht wie in Beispiel 3.1
„unendlich“ viele Stützstellen wählen.
Setzt man z.B. 𝑛 = 21 = 2 ∗ 10 + 1 erhält man die Koeffizienten 𝑎, 𝑏
a=
b=
2.9920 -0.2992 -0.2992 -0.2992 -0.2992 -0.2992 -0.2992 -0.2992 -0.2992 -0.2992 -0.2992
-1.9851 -0.9700 -0.6213 -0.4388 -0.3225 -0.2386 -0.1727 -0.1174 -0.0683 -0.0224
Der Gleichanteil entspricht nicht dem korrekten Wert 𝜋. Die CosinusTerme verschwinden nicht und auch die Koeffizienten der Sinus-Terme
sind nur angenähert korrekt.
Wir wissen, dass die Sägezahnfunktion nicht Bandweiten begrenzt ist.
Es treten Sinus Terme beliebig hoher Frequenz auf. Nach dem Nyquist
Theorem können diese jedoch mit einer groben Abtastung nicht
dargestellt werden. Die Energie dieser nicht repräsentierbaren Terme
wird der endlichen Reihe die hier nach dem 10. Glied abgebrochen
wurde zugefügt was die Koeffizienten entsprechend verfälscht. Man
spricht vom Aliasing Effekt.
Numerische Mathematik II
Herbsttrimester 2012
19
Exkurs Komplexität – Landau Symbole:
Zur Definition der algorithmischen Komplexität benutzt man
üblicherweise die Landau Symbole für den Grenzwert 𝑥 → ∞.
Man sagt 𝑓 = 𝑂 𝑔 falls gilt: Es gibt ein 𝑐 > 0 und ein 𝑥0 > 0 so dass für
alle 𝑥 > 𝑥0 gilt 𝑓 𝑥 ≤ 𝑐 𝑔 𝑥 .
Beispiele:
 𝑓 𝑛 = 3 + 𝑛 + 2 𝑛2 . Es gilt 𝑓 = 𝑂(𝑛2 )
 𝑓 𝑛 = 𝑛! =
Es gilt 𝑓 = 𝑂
𝑛 𝑛
2 𝜋𝑛
𝑒
𝑛 𝑛
𝑛
1+𝑂
1
𝑛
(Stirling Formel)
𝑒
 Sei ein Algorithmus gegeben mit Komplexität 𝑂 𝑛2 und ein
Computer mit 100 Gflops. Wir wollen den Algorithmus auf einen
Vektor der Länge 109 anwenden. Wir benötigen also 1018 Rechenoperationen und auf dem obigen Rechner 107 Sekunden oder 115.7
Tage. Existiert ein Algorithmus der den selben Zweck in 𝑂 𝑛 log 2 𝑛
erfüllt, benötigen wir 29.89 ⋅ 109 Operationen oder 0.298 Sekunden.
Numerische Mathematik II
Herbsttrimester 2012
20
FFT: Schnelle Fourier-Transformation
Die DFT hat eine algorithmische Komplexität von 𝑂 𝑛2 . Wir haben in
Beispiel 3.1 gesehen dass die Exponentialterme sich mehrfache
wiederholen. Wir können also durch geschicktes Klammern
Multiplikationen einsparen. Die Idee geht schon auf Gauß zurück. Eine
der bekanntesten Formulierungen stammt von Cooley & Tukey (1965).
Wir nehmen hierzu an, dass 𝑛 = 2𝑚 und definieren zwei DFTs der
halben Länge für gerade und ungerade Koeffizienten wie folgt:
𝑔𝑘′ = 𝑔2𝑘 , 𝑔𝑘′′ = 𝑔2𝑘+1 , 𝑐𝑘′ = 𝑐2𝑘 , 𝑐𝑘′′ = 𝑐2𝑘+1 . Dann folgt:
1
𝑐𝑗 =
𝑛
1
=
𝑛
=
𝑛−1
𝑘𝑗
−2𝜋𝑖 𝑛
𝑔𝑘 𝑒
𝑘=0
𝑚−1
𝑔𝑘 ′𝑒
𝑘=0
𝑐𝑗′
+𝑒
𝑗
−𝜋𝑖𝑚
′
𝑐𝑗−𝑚
Numerische Mathematik II
−2𝜋𝑖
+𝑒
1
=
𝑛
𝑘𝑗
𝑚
⋅ 𝑐𝑗′′
−𝜋𝑖
𝑗
𝑚
𝑚−1
2𝑘𝑗
−2𝜋𝑖 2𝑚
𝑔2𝑘 𝑒
𝑘=0
+𝑒
−𝜋𝑖
𝑗
𝑚
1
⋅
𝑛
1
+
𝑛
𝑚−1
𝑔𝑘′′
𝑒
𝑚−1
𝑔2𝑘+1 𝑒
−2𝜋𝑖
(2𝑘+1)𝑗
2𝑚
=
𝑘=0
−2𝜋𝑖
𝑘𝑗
𝑚
=
𝑘=0
falls 𝑗 < 𝑚
′′
⋅ 𝑐𝑗−𝑚
falls 𝑗 ≥ 𝑚
Herbsttrimester 2012
21
Die letzte Zeile entsteht dadurch, dass die Indizes 𝑐𝑗 bis 𝑛 − 1 laufen
während die Indizes 𝑐𝑗′ , 𝑐𝑗′′ bis m−1 laufen.
Bemerkungen:
 Wir können also die DFT der Ausgangsdaten berechnen durch 2
DFTs auf Daten der halben Länge. Falls 𝑛 = 2𝑝 eine Zweierpotenz
ist kann man das ganze rekursiv 𝑝 = log 2 𝑛 mal wiederholen. Man
kann zeigen, dass die FFT dann eine algorithmische Komplexität
von 𝑂(n log 2 𝑛) hat.
 Es gibt mittlerweile auch FFT Algorithmen für 𝑛 ≠ 2𝑝 . Am
schnellsten ist aber die FFT für 𝑛 = 2𝑝 .
 Es gibt eine Vielzahl von schnellen Algorithmen die auf der Idee
basieren das Problem sukzessive zu halbieren. Man nennt dieses
Pinzip auch Divide and Conquer.
 Die Anwendungen der FFT oder enger (Verwandter) sind
mannigfaltig: Schnelle mathematische Algorithmen, Signalanalyse,
Signalverarbeitung (z.B. Filterung von Daten), Synthese von
Audiosignalen, Kompression von Audio, oder Bilddaten (MP3), etc.
Numerische Mathematik II
Herbsttrimester 2012
22
Beispiel 3.4
Wir wollen im Folgenden die FFT eines verrauschten Signals betrachten und dann das Signal durch Filterung und Synthese in seinen reinen
Bestandteile zerlegen. Wir benötigen hierzu die folgenden Begriffe:
 Bei der Auswertung von Fourier-Analysen betrachtet man in den
meisten Fällen das sogenannte einseitige Amplitudenspektrum
definiert durch: |ℱ 𝑔 𝑓𝑘 |+ ℱ 𝑔 −𝑓𝑘 welches sich für reelle
Funktionen zu 2 |ℱ 𝑔 𝑓𝑘 | vereinfacht. Alternativ findet man auch
das Powerspektrum definiert durch ℱ 𝑔 𝑓𝑘 2 + ℱ 𝑔 −𝑓𝑘 2 mit
der entsprechenden Vereinbarung für reelle Argumente. Die
Phaseninformation wird also verworfen.
 In der Interpolations-Notation entspricht ℱ 𝑔 𝑓𝑘 = 𝑐𝑘
 Als Tiefpass bezeichnen wir einen Filter der Signalanteile mit
Frequenzen unterhalb seiner Grenzfrequenz annähernd
ungeschwächt passieren lässt (analog Hochpass).
 Wir verwenden außerdem einen Rauschfilter der dadurch definiert
ist, dass alle Signalanteile mit |ℱ 𝑔 𝑓𝑘 |<0.2 zu Null gesetzt
werden.
Numerische Mathematik II
Herbsttrimester 2012
23
Signal mit überlagertem Rauschen
Signal mit überlagertem Rauschen
8
8
6
6
4
4
2
2
0
0
-2
-4
-2
-6
-4
-8
-6
-10
0
100
200
300
400
500
600
Zeit[ms]
700
800
900
1000
-8
0
20
40
60
80
100
120
Zeit[ms]
140
160
180
200
Einseitiges Amplitudensprektrum
1.4
Die Abbildung oben links zeigt das
Ausgangssignal. Rechts sehen wir
einen Ausschnitt davon und unten
das einseitige Amplitudenspektrum.
1.2
1
|Y(f)|
0.8
0.6
0.4
0.2
0
0
50
100
Numerische Mathematik II
150
200
250
300
Frequenz [Hz]
350
400
450
500
Herbsttrimester 2012
24
Die nächste Abbildung zeigt das Signal nach Anwendung des oben
definierten einfachen Rauschfilters. Wir sehen, dass nur die dominanten Frequenzanteile (30Hz & 80Hz) übrig geblieben sind. Die Abbildung
rechts zeigt die Fourier-Synthese des rauschfreien Signals (also die
inverse FFT).
Zur Illustration wollen wir noch das rauschfreie Signal durch entweder
einen Tiefpassfilter oder einen Hochpassfilter verarbeiten um so die
beiden Frequenzanteile zu separieren. Das Ergebnis ist auf der
nächsten Folie zu sehen.
In der Realität ist Rauschunterdrückung natürlich deutlich komplexer.
Das Prinzip ist jedoch ähnlich.
Signal nach Rauschunterdrückung
Einseitiges Amplitudensprektrum nach Rauschunterdrückung
2
1.4
1.5
1.2
1
1
0.5
|Y(f)|
0.8
0
0.6
-0.5
0.4
-1
0.2
-1.5
0
-2
0
50
100
150
Numerische Mathematik II
200
250
300
Frequenz [Hz]
350
400
450
500
0
Herbsttrimester 2012
20
40
60
80
100
120
Zeit[ms]
140
160
180
200
25
Amplitudensprektrum nach zusätzlicher Tiefpassfilterung
Signal nach Rausch- und Tiefpassfilterung
0.6
0.6
0.4
0.5
0.2
0.4
0
0.3
-0.2
0.2
-0.4
0.1
-0.6
|Y(f)|
0.7
0
0
50
100
150
200
250
300
Frequenz [Hz]
350
400
450
500
-0.8
0
20
40
60
80
100
120
Zeit[ms]
140
160
180
200
180
200
Signal nach Rausch- und Hochpassfilterung
Amplitudensprektrum nach zusätzlicher Hochpassfilterung
0.9
1
0.8
0.8
0.6
0.7
0.4
0.6
|Y(f)|
0.2
0.5
0
0.4
-0.2
0.3
-0.4
0.2
-0.6
0.1
-0.8
0
-1
0
50
100
Numerische Mathematik II
150
200
250
300
Frequenz [Hz]
350
400
450
500
Herbsttrimester 2012
0
20
40
60
80
100
120
Zeit[ms]
140
160
26
Zusammenfassung
 Wir haben verschiedene Darstellungen der Fourier-Reihe
kennengelernt.
 Für die numerische Auswertung verwendet man zumeist die
Darstellung als komplexe Fourier-Reihe.
 Angewandt auf diskrete Daten spricht man von der diskreten
Fourier-Transformation (DFT)
 Es gibt schnelle Algorithmen zur Durchführung der DFT, die FFT.
 Für nichtperiodische Signale geht die Fourier-Reihe in die FourierTransformation über.
 Auch die Fourier-Transformation kann man auf einem endlichen
Intervall mit der DFT/FFT auswerten. Die Koeffizienten entsprechen
dann einem lokalen Mittelwert des kontinuierlichen Spektrums.
 Wertet man Daten aus die höhere Frequenzanteile beinhalten als
die halbe Abtastfrequenz kommt es unvermeidlich zum Aliasing.
Numerische Mathematik II
Herbsttrimester 2012
27
Herunterladen