Fourier-Zerlegung, Fourier-Synthese
Eine periodische Funktion f(t) mit der Periode T genügt der Beziehung:
Periodische Funktionen wiederholen sich nach einer Zeit T, der Periode.
( ) ( ) für alle
f t + ⋅ n T = f t n ∈ ]
T
t f(t)
Streng periodische Funktionen haben “keinen Anfang” und “kein Ende”, d.h. sie sind im Bereich -∞ ≤ t ≤ ∞ defininiert.
Reale physikalische Funktionen beginnen irgendwo und enden in endlicher Zeit.
Als Idealisierung kann man sie jedoch oft als unendlich ausgedehnte periodische
Jean Baptiste Joseph
Fourier, (
1768-1830) zeigte, daß sich periodische Funktionen immer als Summe von harmonischen Funktionen cos(n·ωt), sin(n·ωt) darstellen lassen:0
1 1 2 2
( ) a 2 cos( ) sin( ) cos(2 ) sin(2 ) ...
f t = + ⋅ a ω ⋅ + ⋅ t b ω ⋅ + ⋅ t a ⋅ ⋅ + ⋅ ω t b ⋅ ⋅ + ω t
0
k k
1 1
( ) cos( ) sin( )
2
k kf t a
∞a k ω t
∞b k ω t
= =
= + ∑ ⋅ ⋅ ⋅ + ∑ ⋅ ⋅ ⋅
Die praktische Bedeutung der Fourier-Synthese nach Gleichung (equ.1) liegt darin, dass häufig eine kleine, endliche Anzahl von Fourier-Gliedern schon zu einer sehr guten
Annäherung an die Funktion f(t) führt und man somit die unendliche Summe auf eine endliche Summe beschränken kann.
equ.1
0
k k
1 1
( ) cos( ) sin( )
2
N N
k k
f t a a k ω t b k ω t
= =
≅ + ∑ ⋅ ⋅ ⋅ + ∑ ⋅ ⋅ ⋅ equ.2
Eine solche Darstellung einer periodischen Funktion f(t) nach harmonischen Funktionen nennt man
Fourier-Synthese
.Die Berechnung der Koeffizienten ak und bk nennt man
Fourier-Analyse.
0
k k
1 1
( ) cos( ) sin( )
2
k kf t a
∞a k ω t
∞b k ω t
= =
= + ∑ ⋅ ⋅ ⋅ + ∑ ⋅ ⋅ ⋅
k
0
2 ( ) cos( k )
T
a f t t dt
T ω
= ∫ ⋅ ⋅
2 T ω = π
k
0
2 ( ) sin(k )
T
b f t t dt
T ω
= ∫ ⋅ ⋅
k = 0,1,2,…N
k = 1,2,…N
Die Koeffizienten
a
kundb
knennt man die Fourier-Koeffizienten.Die Kenntnis der Fourierkoeffizienten beschreibt den gesamten Funktionsverlauf einer periodischen Funktion vollständig. Oft genügt eine endliche (und relativ kleine) Anzahl von Fourierkoeffizienten.
e
ikωt= exp(i k ⋅ ω t ) = cos(k ⋅ ω t ) + ⋅ i sin(k ⋅ ω t )
Of ist eine komplexe Darstellung vorteilhaft:
N N
ik
k k
k=-N k=-N
f(t)= ∑ A e ⋅
ωt= ∑ A exp( ⋅ ik ω t ) A
k: komplexe Fourierkoeffizienten
ik k
1
( ) e
T
t
A =
T∫ f t ⋅
− ωdt k = ± ± 0, 1, 2,... k ∈ ]
Nichtperiodische Funktionen f(t) ?
0.0 0.1 0.2 0.3 0.4 0.5
fid1.opj
Zeit /s
t f(t)
Man geht von der Summe zum Fourier-Integral über:
f(t)
( ) ( ) e
i tf t
+∞A ω
ωd ω
−∞
= ∫ ⋅ A ( ) ω 2 1 π
+∞f t ( ) e
-iωtd t
−∞
= ∫ ⋅
Fourier-Analyse
Fourier-Synthese
Die Berechnung der Fourier-Koeffizienten, also die Fourier-Analyse, geschieht vorwiegend mit digitalen Computer-Algorithmen. 1967 erfanden Cooley and Tuckey ein sehr schnelles Rechenverfahren zur
Berechnung der FFT (Finite Fourier Transform). Dieser Algorithmus wird auch Fast Fourier Transform
genannt. Seine Anwendung hat manche Gebiete wie die NMR-Spektroskopie, die MR-Bildgebung, die Schwingungsanalyse etc. revolutioniert.
Seit 1984 hat sich z.B. die Geschwindigkeit der Fourier-Transformation auf Standard- Computern um über den Faktor 10000 erhöht!
Der Gesamtfaktor gegenüber der Zeit vor ca. 1970 beträgt ca. 1 Million!
Eine 1024-Punkte komplexe Fourier-Transformation dauert auf einem modernen PC Pentium oder AMD weniger als 100 µs.
Im Jahr 1970 dauerte diese Transformation auf Hochleistungscomputern noch ca. 100 s.
In der NMR-Spektroskopie transformiert man z.B. Spektren mit 32768 Punkten.
Diese dauerten im Jahr 1970 ca. 4.5 Stunden ! Heute macht dies ein PC in 16 ms oder schneller !
Der Cooley-Tuckey Algorithmus hat die Geschwindigkeit einer 1024 Punkte Fourier-Transformation um den Faktor 100 erhöht!
Das in der Vorlesung verwendete Programm “Analyze2000” zur Audio-Analyse verwendet einen schnellen Fast-Fourier-Transform Algorithmus mit bis zu 16384 Punkten.
Allgemeine Geräte zur Spektralanalyse nennt man:
Spectrum-Analyser
Java-Applet zur Demonstration der FFT:
fid5.html
(mit Internet-Explorer ausführen)1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 1E-5
1E-4 1E-3 0.01 0.1 1
fftexecution_machine.opj
(13) (12) (11) (10) (8) (9)
(7) (6) (5)
(4) (3)
(1)
(2)
1024 point Complex FFT C-programme four1.c
Execution time (s)
Year
(1) 80286/80287 10 MHz (2) VAX 8600
(3) RISC-MIPS2000 16 MHz (4) DEC-Station 3100
(5) DEC-Station 5000
(6) HP9000 Model 720 (7) HP9000 Model 735 (8) HP9000 Model 780 (9) HP9000 Model 780 (new
compiler)
(10) Pentium III, 600 MHz
(11) Pentium III, 900 MHz, Debug (12) Pentium III, 900 MHz, Release (13) AMD2000+, 1.67 GHz
8 9 10 11 12 13 14 15 1E-5
1E-4 1E-3 0.01
0.1 Pentium III, 900 MHz
Windows 98
AMD 200+, 1.67 GHz Windows XP
Pentium IV, 2.8 GHz Windows XP
executiontime.opj
Fast FFT, routine four1 complex, double precision
N=32768 N=1024
Ex ecuti o n t ime (s)
m (2^m = N)
Array-Größen: 8 Byte pro real Zahl, 2x8 Byte pro komplexer Zahl.
z.B. 16384 Punkte, 256 kByte Daten Der Level-II Cache des P3 beträgt 256 kB Der Level-II Cache des P4 beträgt 512 kB
Demonstration mit HPVEE: ‘fouriersynthese.vee’
1/(3*3) 1/(1*1)
-1/(3*3)
1/(5*5)
-1/(7*7)
1/(9*9)
-1/(11*11)
1/(13*13)
-1/(15*15) 1/(1*1)
1/15 1/13 1/11 1/9 1/7 1/5 1/3 1/1
1
-1
1
1
1 -1
-1
-1