Computergrafik 2: Fourier-Transformation Prof. Dr. Michael Rohs, Dipl.-Inform. Sven Kratz michael.rohs@ifi.lmu.de MHCI Lab, LMU München Folien teilweise von Andreas Butz, sowie von Klaus D. Tönnies (Grundlagen der Bildverarbeitung. Pearson Studium, 2005.)
Vorlesungen Datum Thema 24.4. Einführung, Organisatorisches (Übungen, Klausur) 1.5./8.5. keine Vorlesungen (wegen 1. Mai und CHI-Konferenz) 15.5. Abtastung von Bildern, Punktbasierte Verfahren der Bildverbesserung 22.5. Licht, Farbe, Farbmanagement Konvolution, Filterung im Ortsraum 30.5. (Verschiebung wegen Pfingstdienstag) 5.6. Fouriertransformation: Grundlagen 12.6. Filterung im Frequenzraum 19.6. Kanten, Linien, Ecken 26.6. Segmentierung 3.7. Segmentierung, Morphologische Operationen 10.7. Klassifikation 17.7. Image Matching 24.7. Klausur (Hörsaal M 018 im Hauptgebäude, 14-16 Uhr) Computergrafik 2 SS2012 2
Themen heute Fourier-Transformation Grundidee Konstruktion der Fourier-Basis Phase und Amplitude Eigenschaften der FT Konvolution und Korrelation im Frequenzraum Schnelle Fourier-Transformation (FFT) Computergrafik 2 SS2012 3
Motivation Manche Operationen sind im Ortsraum (d.h. auf den Pixeln des Bildes) schwer Herausfiltern bestimmter Frequenzen Beseitigung störender Details Konvolution, Korrelation Frequenzraum als Labor zur Entwicklung von Filtern Idee: übertrage Bild in einen Raum, in dem diese Operationen leichter sind z.b. Zerlegung des Bildes in Frequenzen Rückweg muss möglich sein Verschiedene Möglichkeiten, gleiches Prinzip Computergrafik 2 SS2012 4
Beispiel: Artefakte entfernen R. C. Gonzalez R. E. Woods, Digital Image Processing Computergrafik 2 SS2012 5
Motivation Bisher: Darstellung des Bildes im Ortsraum durch den Grauwert an einem bestimmten Ort Jetzt: Darstellung im Frequenzraum durch cos und sin Funktionen verschiedener Frequenzen Eindeutige und vollständige Darstellung in beiden Räumen Ortsraum Frequenzraum Fourier-Transformation inverse Fourier- Transformation Computergrafik 2 SS2012 6
Fourier Jean Baptiste Joseph Fourier (1768-1830) Französischer Physiker und Mathematiker Erfinder der Fourier- Transformation Johann Bernoulli, *1667 Advisor Leonhard Euler, *1707 Advisor Joseph-Louis Lagrange, *1736 Advisor Jean Baptiste Joseph Fourier Quelle: www.genealogy.ams.org Computergrafik 2 SS2012 7
Fourier-Transformation: Grundidee Beschreibe beliebige Funktion als gewichtete Summe periodischer Grundfunktionen (Basisfunktionen) mit unterschiedlicher Frequenz Computergrafik 2 SS2012 8
Parameter Periodischer Grundfunktionen y(x) = Asin(2π f x +ϕ) A Amplitude: Intensität des Signals φ Phase: Verschiebung zum Ursprung Frequenz zeitlich f(t) Frequenz räumlich f(x) T Periodendauer [s] λ Wellenlänge [m] f Frequenz f = 1/T [1/s=Hz] f Raumfrequenz f=1/λ [1/m] ω Kreisfrequenz ω=2πf k Wellenzahl k = 2π/λ y A φ T bzw. λ x Computergrafik 2 SS2012 9
Fouriers Theorem Jede beliebige periodische Funktion lässt sich darstellen als Summe von sin und cos Funktionen unterschiedlicher Frequenzen. Ist die Funktion nicht periodisch, aber auf einen bestimmten Definitionsbereich beschränkt, so kann man diesen Bereich einfach kopieren (periodisch fortsetzen) und hat damit wieder eine periodische Funktion. Die Zeilen und Spalten eines Bildes kann man als nichtperiodische diskrete Funktionen auffassen. Man kann also auch ein Bild Fourier-transformieren. Computergrafik 2 SS2012 10
Ist ein Bild eine periodische Funktion? Computergrafik 2 SS2012 11
Ist ein Bild eine periodische Funktion? Zunächst: Betrachtung der periodischen Fortführung einer Zeile λ (N Pixel) λ (N Pixel) λ (N Pixel) λ (N Pixel) λ (N Pixel) Computergrafik 2 SS2012 12
kontinuierliche Fourier-Transformation Transformation vom Ortsraum in den Frequenzraum F(u) = f (x)e 2πixu dx Transformation vom Frequenzraum in den Ortsraum f (x) = F(u)e 2πixu du Im 1 z = a+ib = re iφ r φ sin φ b -1 cos φ 1 Re a -1 Computergrafik 2 SS2012 13
Erinnerung: komplexe Zahlen Im Bereich der reellen Zahlen gibt es keine Lösung für x² = -1 Einführung der imaginären Zahlen i: Lösung der Gleichung x² = -1 Die Gruppe der reellen und imaginären Zahlen nennt man komplexe Zahlen Komplexe Zahl z: z = a + i b, wobei a und b reell sind Computergrafik 2 SS2012 14
Erinnerung: komplexe Zahlen Imaginäre Achse cos(θ)+ isin(θ) Realteil a r θ z Imaginärteil i*b cos(θ) sin(θ) Reelle Achse z = a + ib = r e iθ = r(cos(θ)+ isin(θ)) Computergrafik 2 SS2012 15
Funktion mit sin und cos multiplizieren Originalfunktion f (x), x = 0..1 Abtastungsfunktionen cos( 2π x) sin( 2π x) Ergebnis (f*sin und f*cos) f (x) cos( 2π x) f (x) sin( 2π x) Computergrafik 2 SS2012 16
Beispiel: F(1) =... Originalfunktion f (x), x = 0..1 Gewichtungsfunktionen real(e i2π x ) = cos( 2π x) imag(e i2π x ) = sin( 2π x) Ergebnis (f*sin und f*cos) real( f (x) e i2π x ) imag( f (x) e i2π x ) F(1) = f (x) e i2π x dx Computergrafik 2 SS2012 17
Beispiel: F(2) =... Originalfunktion f (x), x = 0..1 Gewichtungsfunktionen real(e i2π 2 x ) = cos( 2π 2x) imag(e i2π 2 x ) = sin( 2π 2x) Ergebnis (f*sin und f*cos) real( f (x) e i2π 2 x ) imag( f (x) e i2π 2 x ) F(2) = f (x) e i2π 2 x dx Computergrafik 2 SS2012 18
Fourier-Transformation: Eigenschaften Transformation: verändert eine Funktion nicht, sondern stellt sie nur anders dar Transformation ist umkehrbar à inverse Fourier-Transformation Analog zum Basiswechsel in der Vektorrechnung digitale Bilder Bild als endliche Funktion, definiert durch Auflistung der Werte Definitionsbereich (x,y) diskret und endlich Wertebereich f(x,y) diskret und endlich diskrete Fourier-Transformation (DFT) 10 255 4 250 ß 1D digitales Bild Computergrafik 2 SS2012 19
Anschaulich: Basisvektoren eines Bildes 10 255 4 250 = 10 * + 255 * + 4 * 1 0 0 0 0 1 0 0 0 0 1 0 bilden eine Basis des R 4 sind paarweise orthogonal haben Länge 1 + 250 * 0 0 0 1 Wahl anderer Basisvektoren è Transformation mittels Basiswechsel Basiswechselmatrix vom Rang der Pixelanzahl Computergrafik 2 SS2012 20
Computergrafik 2 SS2012 21 Exkurs: Vektorrechnung 1 0 0, 0 1 0, 0 0 1 bilden eine Basis b 1 des R 3 sind paarweise orthogonal haben Länge 1 1/ 2 1/ 2 0, 1/ 2 1/ 2 0, 0 0 1 bilden ebenfalls eine Basis b 2 des R 3 sind ebenfalls paarweise orthogonal Haben ebenfalls Länge 1 1/ 2 1/ 2 0 1/ 2 1/ 2 0 0 0 1 ' ' ' ' Ist orthogonal und normiert (d.h. A T = A -1 ) Ist Basiswechselmatrix von b 1 nach b 2 (1,1) 1 0 0 1
Exkurs: Vektorrechnung Basiswechselmatrix orthogonal und normiert (d.h. A T = A -1 ) Basiswechsel: x = Ax 1 0 0 1 (1,1) Rücktransformation: Ax = A T (Ax) = (A T A)x = (A -1 A)x = x Computergrafik 2 SS2012 22
Basiswechsel Sei V ein n-dimensionaler Vektorraum über Körper K mit Basen B={b 1,..., b n } und B ={b 1,..., b n } Darstellung der Vektoren von B in B : Darstellung des Vektors v in B: Darstellung des Vektors v in B : v = v = n i=1 n i=1 b j = x i b i x i 'b i ' n i=1 a ij b i ' v = n n n n n n n x j b j = x j a ij b i ' = x j a iji ' b ' i = c i b i ' = x i 'b i ' j=1 j=1 i=1 i=1 j=1 i=1 i=1 Computergrafik 2 SS2012 23
Basiswechsel v = n n n n n n n x j b j = x j a ij b i ' = x j a iji ' b ' i = c i b i ' = x i 'b i ' j=1 j=1 i=1 i=1 j=1 i=1 i=1 Also: x i ' = n j=1 x j a iji mit b j = n i=1 a ij b i ' in Matrix-Notation: x 1 ' x n ' = a 11 a 1n a n1 a nn x 1 x n x' = Ax Computergrafik 2 SS2012 24
Orthogonale Funktionen Seien f 1 und f 2 Funktionen, die an N Stellen abgetastet sind (also N-dim. Vektoren) f 1 und f 2 sind orthogonal, falls gilt: 1 * = N f f f ( k) f ( k) = 1 2 1 k= 0 2 D.h. das Skalarprodukt der zugehörigen Vektoren ist 0 N paarweise orthogonale Funktionen f 1 f N bilden damit eine orthogonale Basis des N-dim. Raums Transformationen zwischen orthogonalen Basen sind immer umkehrbar 0 Computergrafik 2 SS2012 25
Orthogonale Funktionen Computergrafik 2 SS2012 26
Orthogonale Funktionstransformationen Betrachte abgetastete Funktionen wie Vektoren Finde neue geeignete orthogonale Basis Üblicherweise Basisfunktionen, die Bedeutung bzgl. der betrachteten Eigenschaft haben Fourier-Basis: komplexe, periodische Funktionen Kosinusbasis: Kosinusfunktionen Transformiere Bild in diese Basis Bearbeite es dort Transformiere zurück y = Ax 1 x = A y Computergrafik 2 SS2012 27
Fourierbasis (1. Versuch, nur cos) Ausgangspunkt: Bildzeile mit N Pixeln 1. Versuch: wähle N Kosinusfunktionen cos 0 2π N ', cos 1 2π N ', cos 2 2π N ',..., cos (N 1) 2π N ' Beispiel nächste Folie: N = 5 Problem: abgetastete Funktionswerte gleich für i=1 und i=4 sowie i = 2 und i = 3 also keine Basis der Dimension N = 5 Vektoren spannen nur 3-dim. Untervektorraum auf Computergrafik 2 SS2012 28
0*2π/5 1*2π/5 2*2π/5 3*2π/5 4*2π/5 5*2π/5 6*2π/5 7*2π/5 1.0 1.0 1.0 1.0 1.0 1.0 0.3-0.8-0.8 0.3 1.0-0.8 0.3 0.3-0.8 1.0-0.8 0.3 0.3-0.8 1.0 0.3-0.8-0.8 0.3 1.0 1.0 1.0 1.0 1.0 1.0 0.3-0.8-0.8 0.3 1.0-0.8 0.3 0.3-0.8 Computergrafik 2 SS2012 29
Fourierbasis (1. Versuch, nur cos) N = 4 Computergrafik 2 SS2012 30
0*2π/5 1*2π/5 2*2π/5 3*2π/5 4*2π/5 5*2π/5 6*2π/5 7*2π/5 cos: 1.0 1.0 1.0 1.0 1.0 sin: 0.0 0.0 0.0 0.0 0.0 cos: 1.0 0.3-0.8-0.8 0.3 sin: 0.0 1.0 0.6-0.6-1.0 cos: 1.0-0.8 0.3 0.3-0.8 sin: 0.0 0.6-1.0 1.0-0.6 cos: 1.0-0.8 0.3 0.3-0.8 sin: 0.0-0.6 1.0-1.0 0.6 cos: 1.0 0.3-0.8-0.8 0.3 sin: 0.0-1.0-0.6 0.6 1.0 cos: 1.0 1.0 1.0 1.0 1.0 sin: 0.0 0.0 0.0 0.0 0.0 cos: 1.0 0.3-0.8-0.8 0.3 sin: 0.0 1.0 0.6-0.6-1.0 cos: 1.0-0.8 0.3 0.3-0.8 sin: 0.0 0.6-1.0 1.0-0.6 Computergrafik 2 SS2012 31
Basisfunktionspaare (cos, sin) N = 4 Computergrafik 2 SS2012 32
Komplexe periodische Funktionen Computergrafik 2 SS2012 33
Komplexes Skalarprodukt Skalarprodukt zweier Vektoren mit komplexen Elementen x y N 1 N 1 = x i y * i = Re(x i )+ iim(x i ) i=0 i=0 ( )( Re(y i ) iim(y i )) Zu x = a + ib komplexkonjugierte Zahl ist x* = a - ib Computergrafik 2 SS2012 34
Fourierbasis (2. Versuch, komplexe Fn.) 2. Versuch: wähle komplexe Funktionen f u (n) = cos(un)+ isin(un) Wobei u ein ganzzahliges Vielfaches von u 0 = 2π/N à N verschiedene Funktionen Ist eine Basis Computergrafik 2 SS2012 35
Basisfunktionen der Fourierbasis (N = 2) Basisfunktionen f u Wertetabelle: f u (n) n=0 n=1 u=0 exp(0)=1 exp(0)=1 u=1 exp(0)=1 exp(iπ) = -1 Basisvektoren: f u=0 = (1,1), f u=1 = (1,-1) Skalarprodukt: f u=0 * f u=1 = 1*1 + 1*(-1) = 0 Basiswechselmatrix: B = 1 2 f u (n) = exp i2π N un 1 1 1 1 ' Computergrafik 2 SS2012 36
Basisfunktionen der Fourierbasis (N = 4) Basisfunktionen f u Wertetabelle: f u (n) = exp i2π N un f u (n) n=0 n=1 n=2 n=3 u=0 exp(0)=1 exp(0)=1 exp(0)=1 exp(0)=1 u=1 exp(0)=1 exp(iπ/2)=i exp(iπ)=-1 exp(i3π/2)=-i u=2 exp(0)=1 exp(iπ)=-1 exp(i2π)=1 exp(i3π)=-1 u=3 exp(0)=1 exp(i3π/2)=-i exp(i3π)=-1 exp(i9π/2)=i Basisvektoren: f u=0 = (1,1,1,1), f u=1 = (1,i,-1,-i), f u=2 = (1,-1,1,-1), f u=3 = (1,-i,-1,i) Basiswechselmatrix: B = 1 4 1 1 1 1 1 i 1 i 1 1 1 1 1 i 1 i ' ' ' ' Computergrafik 2 SS2012 37
1D-Basisfunktionen 1 0 1 0 b 0 (n) = [(1, 0),(1, 0),...,(1, 0)] n Computergrafik 2 SS2012 38
2D-Basisfunktionen Frequenz: Richtungsvektor: r(u, v) = f (u, v) = u 2 + v 2 1 f (u, v) Computergrafik 2 SS2012 39 u v
2D-Fourier-Transformationspaar Transformationspaar für Bilder der Größe M N Transformation vom Ortsraum in den Frequenzraum F(u, v) = M 1 m=0 N 1 n=0 f (m, n) exp i2π um M + vn N Transformation vom Frequenzraum in den Ortsraum f (m, n) = 1 MN M 1 m=0 N 1 n=0 (( '' F(u, v) exp i2π um M + vn N '' Computergrafik 2 SS2012 40
2D-Fourier-Transformationspaar Transformationspaar für Bilder der Größe N N Transformation vom Ortsraum in den Frequenzraum F(u, v) = 1 N N 1 m=0 N 1 n=0 f (m, n) exp i 2π N ( um + vn) ( ' Transformation vom Frequenzraum in den Ortsraum f (m, n) = 1 N N 1 m=0 N 1 n=0 F(u, v) exp i 2π N ( um + vn) ' Computergrafik 2 SS2012 41
Phase und Amplitude Funktionswerte von F(u,v) = a+ib sind komplexe Zahlen Betrag eines Funktionswerts: Amplitude = F(u,v) = sqrt(a 2 +b 2 ) Winkel zur reellen Achse: Phase = tan -1 (b/a) Amplitude und Phase sind Parameter der jeweiligen Basisfunktion Computergrafik 2 SS2012 42
Beispiele für Amplitude FT FT Computergrafik 2 SS2012 43
Zweidimensionale Fouriertransformation Computergrafik 2 SS2012 44
Darstellungsweise Original Amplitude (zentriert, d.h. von N/2 bis N/2) Amplitude (log. Skala) Amplitude (zentriert, log. Skala) Computergrafik 2 SS2012 45
Beispiel Amplitude Phase Computergrafik 2 SS2012 46
Translation Translation im Ortsbereich führt zu Phasenverschiebung im Frequenzbereich Computergrafik 2 SS2012 47
Eigenschaften der 2D-DFT: Translation 2D- DFT: Verschiebung im Ortsraum führt zu Phasenverschiebung im Frequenzraum: f ( x x 0, y y 0 ) = 1 F ( u, v) e i2π (u(x x 0 )/M+v(y y 0 )/N ) = 1 MN = 1 MN F u, v M 1 u=0 M 1 u=0 N 1 v=0 N 1 v=0 M 1 N 1 ( ) = f x, y x=0 f ( x, y) = 1 MN y=0 MN ( ) e M 1 N 1 u=0 v=0 M 1 u=0 N 1 v=0 i2π (ux/m+vy/n ) i2π (ux/m+vy/n ) F ( u, v) e F ( u, v) e i2π (ux/m+vy/n ) e i2π (ux 0 /M+vy 0 /N ) F ( u, v) e i2π (ux 0 /M+vy 0 /N ) ' ei2π (ux/m+vy/n ) Computergrafik 2 SS2012 48
Rotation Computergrafik 2 SS2012 49
Computergrafik 2 SS2012 50 Eigenschaften der 2D-FT: Rotation Rotation im Ortsraum führt zu Rotation im Frequenzraum Schreibe FT in Matrix-Vektor-Notation: Rotation mit 2x2-Rotationsmatrix R: f x, y ( ) = F u, v ( ) e i2π xu+yv ( ) du dv = F u v ' ( ) * ' ' ( ) * * e i2π x y ' ' ( ) * * T u v ' ( ) * ' ' ( ) * * du dv, mit x y ' ' ( ) * * T u v ' ( ) * = xu + yv f R x y = F u v e i2π R x y T u v du dv = F R u v ei2π xu+yv ( ) du dv nächste Folie
Computergrafik 2 SS2012 51 f R x y = F u v e i2π R x y T u v du dv = F R u' v' e i2π R x y T R u' v' du dv, mit R u' v' = u v, R 1 = R T = F R u' v' e i2π x y T R T R u' v' du dv = F R u' v' e i2π x y T u' v' du dv = F R u v ei2π xu+yv ( ) du dv Eigenschaften der 2D-FT: Rotation Rotationsmatrix R Integration über alle (u,v) T, d.h. über die gesamte Ebene, und damit auch über alle R -1 (u,v) T. Substituierung R -1 (u,v) T à (u,v) T
Periodizität und Symmetrie F(u) = N 1 n=0 x f (n) exp i2π un ( N ' Computergrafik 2 SS2012 52
Eigenschaften der 2D-DFT: Periodizität 2D-DFT ( ) = f x, y F u, v M 1 N 1 x=0 f ( x, y) = 1 MN y=0 ( ) e M 1 N 1 u=0 i2π (ux/m+vy/n ) i2π (ux/m+vy/n ) F ( u, v) e Verschiebung im Ortsraum um Vielfache von M, N: f ( x am, y bn) = 1 MN = 1 MN = 1 MN M 1 N 1 v=0 M 1 u=0 N 1 v=0 v=0 i2π (u( am )/M+v bn F ( u, v) e ( )/N ) ei2π (ux/m+vy/n ) i2π (ua+vb) F ( u, v) e (ux/m+vy/n ) ei2π, u, v N 0, a, b Z u=0 M 1 u=0 N 1 v=0 i2π (ux/m+vy/n ) F ( u, v) e = f ( x, y) Computergrafik 2 SS2012 53
Zentrierung der 2D-DFT Verschiebung um M/2, N/2 im Frequenzraum: F u M 2, v N 2 ' f x, y ( )( 1) x+y F u M 2, v N 2 M 1 N 1 y=0 ' = M 1 x=0 N 1 y=0 f ( x, y) e i2π u M 2 'x/m+ v N 2 = iπ ( x+y f ( x, y) e ) i2π( ux/m+vy/n) e x, y N 0 x=0 M 1 x=0 N 1 y=0 = +, f ( x, y) 1 ( ) x+y - ( ux/m+vy/n). e i2π 'y/n ' Computergrafik 2 SS2012 54
Separierbarkeit F(u, v) = 1 f (m, n)exp i 2π N 1 N 1 (um + vn) N m=0 2 n=0 N ' = = 1 f (m, n)exp i 2π N 2 N um ' exp i 2π N vn N 1 N 1 m=0n=0 ' = = 1 N = 1 N = 1 N N 1 m=0 ) + * 1 N N 1 n=0 f (m, n)exp i 2π N vn, '. exp i 2π - N um ' = exp i 2π N um ) ' 1 N 1 f (m, n)exp i 2π N N vn, N 1 + n=0 '. = m=0 * - N 1 m=0 exp i 2π N um ' F v(m) v m Vorgehensweise: zunächst F v (m) für alle (v,m) berechnen und dann verwenden. F v (m) F(u,v) Computergrafik 2 SS2012 55
Konvolution und Korrelation Konvolution und Korrelation sind zwei eng verwandte Filter-Operationen. Beide können im Ortsraum und im Frequenzraum ausgeführt werden. Die Operation im Frequenzraum ist eine einfache Multiplikation (Aufwand N 2 ). Achtung: Padding wegen Periodizität P = A + B - 1 Computergrafik 2 SS2012 56
Konvolution im Frequenzraum Computergrafik 2 SS2012 57
Konvolution im Frequenzraum 1D-Konvolution f (x) h(x) = N 1 f (n) h(x n) n=0 F(u) H(u) 2D-Konvolution M 1 f (x, y) h(x, y) = f (m, n) h(x m, y n) m=0n=0 F(u, v) H(u, v) N 1 Periodizität problematisch à Padding Computergrafik 2 SS2012 58
Wraparound Error Konvolution periodischer Funktionen Padding: P A + B - 1 f (x) h(x) = 399 m=0 f (m) h(x m) f(x)*h(x) f(x)*h(x) R. C. Gonzalez R. E. Woods, Digital Image Processing Computergrafik 2 SS2012 59
Padding R. C. Gonzalez R. E. Woods, Digital Image Processing Computergrafik 2 SS2012 60
FAST FOURIER TRANSFORM (FFT) Computergrafik 2 SS2012 61
Vorgehensweise generell Vereinfachende Annahme: N=2 k, k>1 Nutze Separierbarkeit, um 2D-FT auf 1D zurückzuführen (O(N 4 ) à O(N 3 )) Teile Summe in zwei Teilsummen auf Finde Gemeinsamkeiten in den Teilsummen und berechne beide Teilsummen miteinander Betrachte die Teilsumme und unterteile rekursiv bis N=1 (O(N 3 ) à O(N 2 log N) Computergrafik 2 SS2012 62
Separierbarkeit F(u, v) = 1 f (m, n)exp i 2π N 1 N 1 (um + vn) N m=0 2 n=0 N ' = = 1 f (m, n)exp i 2π N 2 N um ' exp i 2π N vn N 1 N 1 m=0n=0 ' = = 1 N = 1 N = 1 N N 1 m=0 ) + * 1 N N 1 n=0 f (m, n)exp i 2π N vn, '. exp i 2π - N um ' = exp i 2π N um ) ' 1 N 1 f (m, n)exp i 2π N N vn, N 1 + n=0 '. = m=0 * - N 1 m=0 exp i 2π N um ' F v(m) v m Vorgehensweise: zunächst F v (m) für alle (v,m) berechnen und dann verwenden. F v (m) F(u,v) Computergrafik 2 SS2012 63
Divide Schritt Teile Summe in zwei Teilsummen auf N = 2K,W N = exp i 2π N F N (u) = 1 N = 1 2 1 K K 1 n=0 N 1 f (n)(w N ) un = 1 n=0 2K f (2n)(W 2K ) 2nu ' = exp i π K ',W 2 = exp i 2π N K + 1 K 2K 1 f (n)(w 2K ) un = K 1 n=0 n=0 f (2n +1)(W 2K ) (2n+1)u ' Finde Gemeinsamkeiten in den Teilsummen ' = W K F even,k (u) = 1 K K 1 n=0 f (2n)(W 2K ) 2nu = 1 K K 1 n=0 f (2n)(W K ) nu F odd,k (u) = 1 K K 1 n=0 f (2n +1)(W 2K ) 2nu = 1 K K 1 n=0 f (2n +1)(W K ) nu Computergrafik 2 SS2012 64
Ausnutzen der Periodizität N = 2K, W N = exp i 2π N ' = exp i π K ', W K = exp i 2π K ' F even,k (u) = 1 K K 1 f (2n)(W K ) nu, F n=0 odd,k (u) = 1 K K 1 n=0 f (2n +1)(W K ) nu F N (u) = 1 ( 2 F even,k (u)+ F odd,k (u)(w 2K ) u ) Berechne F(u+K) ( W K ) u+n = ( W K ) u, ( W 2K ) u+k = ( W 2K ) u F N F N ( ( ) + F odd,k ( u + K) ( W 2K ) u+k ) ( u + K) = 1 2 F u + K even,k ( u + K) = 1 2 F even,k u ( ( ) F odd,k ( u) ( W 2K ) u ) Computergrafik 2 SS2012 65
Ausnutzen der Periodizität N = 2K,W N = exp i 2π N ' F(u) = 1 ( 2 F (u)+ F (u)(w even odd 2K )u ) F u + K ( ) ( ) = 1 2 F ( u ) even F ( odd u) ( W ) u 2K Also kann man F(u+K) mithilfe F(u) berechnen (einmal F even + F odd, einmal F even F odd ) Betrachte die Teilsumme [0 K-1] und unterteile rekursiv bis K=1 (O(n 3 ) à O(n 2 log n) Computergrafik 2 SS2012 66
Zusammenfassung N = 2K,W N = exp i 2π N ' F N (u) = 1 N N 1 n=0 f (n)(w N ) nu = 1 ( 2 F even,k (u)+ F odd,k (u)(w 2K ) u ) F even,k (u) = 1 K F odd,k (u) = 1 K K 1 n=0 K 1 n=0 f (2n)(W K ) nu f (2n +1)(W K ) nu F N ( u + K) = 1 2 F u even,k ( ( ) F ( odd,k u) ( W ) u ) 2K Computergrafik 2 SS2012 67
Rekursiver Algorithmus def F rek (N, (f 0, f 1, f 2,, f N-1 )): if N == 1 then return (f 0 ) K = N/2 F even = F rek (K, (f 0, f 2, f 4,, f N-2 )) F odd = F rek (K, (f 1, f 3, f 5,, f N-1 )) F = zeros(n) for u = 0..K-1: return F F N (u) = 1 N f (n)(w N ) nu F[u] = 0.5 * (F even [u] + F odd [u] * W Nu ) F[u+K] = 0.5 * (F even [u] F odd [u] * W Nu ) F even,k (u) = 1 K F odd,k (u) = 1 K F N N 1 n=0 K 1 n=0 K 1 n=0 ( u + K) = 1 2 F even,k u f (2n)(W K ) nu f (2n +1)(W K ) nu = 1 ( 2 F even,k (u)+ F odd,k (u)(w 2K ) u ) ( ( ) F odd,k ( u) ( W 2K ) u ) Computergrafik 2 SS2012 68
Rekursive Aufteilung in F odd und F even 1 signal of 16 points 2 signals of 8 points 4 signals of 4 points 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 2 4 6 8 10 12 14 1 3 5 7 9 11 13 15 0 4 8 12 2 6 10 14 1 5 9 13 3 7 11 15 8 signals of 2 points 0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15 16 signals of 1 point 0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15 Signal aus N Datenpunkten in N Signale mit je einem Datenpunkt umwandeln Frequenzspektra der N Zeitraumsignale berechnen N Spektra zu einem einzelnen Spektrum zusammenfassen [Abbildungen zu FFT aus: The Scientist and Engineer's Guide to Digital Signal Processing, http://www.dspguide.com/ch12.pdf] Computergrafik 2 SS2012 69
Fourier Transformation zum Anschauen http:// www.cs.brown.edu/ exploratories/ Computergrafik 2 SS2012 70
EIGENSCHAFTEN DER FOURIER-TRANSFORMATION Computergrafik 2 SS2012 71
Fourier-Transformation einer Box-Funktion f (t) = A falls W 2 t W 2 0 sonst F(u) = f (t) e i2πut W dt = 2 A e i2πut dt = A = A * W i2πu e i2π 2 ei2πuw 2 + = A i2sin( πuw ) = AW i2πu W 2, - = A *, W 2 + i2πu e i2πut - W 2 * + i2πu eiπuw e iπuw, - sin πuw Ringing-Artefakt ( ) πuw f(t) F(u) F(u) t u u Computergrafik 2 SS2012 72
Fourier-Transformation einer Gauß-Funktion f (t) = e at2 F(u) = f (t) e i2πut dt = = e at2 cos 2πut ( ) isin( 2πut) e at2 e i2πut dt ' ( dt = e at2 cos( 2πut)dt i e at2 sin( 2πut)dt = e at2 cos( 2πut)dt 0 = π a e π 2 u 2 /a f(t) sin ist punktsymmetrisch zum Ursprung, insgesamt ist zweiter Integrand ungerade, symmetrische Integrationsgrenzen: 0 F(u) erstes Integral: Handbook of Mathematical Functions... t u Computergrafik 2 SS2012 73
Fourier-Transformation eines Impulses im Ortsraum Impuls im Ursprung wird zu Konstante im Frequenzraum δ(t) = falls t = 0 0 sonst, δ(t)dt =1 F(u) = δ(t) e i2πut dt = e i2πu0 = e 0 =1 δ(t) F(u) t u Impuls an der Stelle t 0 wird liegt auf Einheitskreis im Frequenzraum F(u) = δ(t t 0 ) e i2πut dt = e i2πut 0 Computergrafik 2 SS2012 74