computergrafik 2: fourier-transformation · rohs / kratz, lmu münchen computergrafik 2 – ss2011...
TRANSCRIPT
Computergrafik 2: Fourier-Transformation
Prof. Dr. Michael Rohs, Dipl.-Inform. Sven Kratz [email protected]
MHCI Lab, LMU München
Folien teilweise von Andreas Butz, sowie von Klaus D. Tönnies (Grundlagen der Bildverarbeitung. Pearson Studium, 2005)
Computergrafik 2 – SS2011 2 Rohs / Kratz, LMU München
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 – SS2011 3 Rohs / Kratz, LMU München
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 – SS2011 4 Rohs / Kratz, LMU München
Beispiel: Artefakte entfernen
© R. C. Gonzalez & R. E. Woods, Digital Image Processing
Computergrafik 2 – SS2011 5 Rohs / Kratz, LMU München
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
Fourier-Transformation
inverse Fourier-Transformation
Ortsraum Frequenzraum
Computergrafik 2 – SS2011 6 Rohs / Kratz, LMU München
Fourier
• Jean Baptiste Joseph Fourier (1768-1830)
• Französischer Physiker und Mathematiker
• Erfinder der Fourier-Transformation
Jean Baptiste Joseph Fourier Quelle: www.genealogy.ams.org
Joseph Louis Lagrange
Advisor
Leonhard Euler
Advisor
Johann Bernoulli
Advisor
Computergrafik 2 – SS2011 7 Rohs / Kratz, LMU München
Fourier-Transformation: Grundidee
Beschreibe beliebige Funktion als gewichtete Summe periodischer Grundfunktionen (Basisfunktionen) mit unterschiedlicher Frequenz
Computergrafik 2 – SS2011 8 Rohs / Kratz, LMU München
Parameter Periodischer Grundfunktionen
• 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(x) = Asin(2! f x +" )
φ
T bzw. λ
A
y
x
Computergrafik 2 – SS2011 9 Rohs / Kratz, LMU München
f (x), x = 0..1
f (x) !cos("2! x)
Originalfunktion
cos(!2! x)sin(!2! x)
f (x) !sin("2! x)
Abtastungsfunktionen
Ergebnis (f*sin und f*cos)
Funktion mit sin und cos multiplizieren
Computergrafik 2 – SS2011 10 Rohs / Kratz, LMU München
sin(!2! 4x)f (x) "sin(!2! 4x)
Fsin (4) = f (x)sin(...)dx!#
#
$ = 0
sin(!2!5x)f (x) "sin(!2!5x)
Fsin (5) = f (x)sin(...)dx!#
#
$ > 0
sin(!2!2x)f (x) "sin(!2!2x)
Fsin (2) = f (x)sin(...)dx!#
#
$ = 0
sin(!2!3x)f (x) "sin(!2!3x)
Fsin (3) = f (x)sin(...)dx!#
#
$ > 0
sin(!2! x)f (x) "sin(!2! x)
Fsin (1) = f (x)sin(...)dx!#
#
$ > 0
f (x)
Computergrafik 2 – SS2011 11 Rohs / Kratz, LMU München
cos(!2! 4x)f (x) "cos(!2! 4x)
Fcos (4) = f (x) "cos(...)dx!#
#
$ = 0
f (x)
cos(!2!5x)f (x) "cos(!2!5x)
Fcos (5) = f (x) "cos(...)dx!#
#
$ = 0
cos(!2!2x)f (x) "cos(!2!2x)
Fcos (2) = f (x) "cos(...)dx!#
#
$ = 0
cos(!2!3x)f (x) "cos(!2!3x)
Fcos (3) = f (x) "cos(...)dx!#
#
$ = 0
cos(!2! x)f (x) "cos(!2! x)
Fcos (1) = f (x) "cos(...)dx!#
#
$ = 0
Computergrafik 2 – SS2011 12 Rohs / Kratz, LMU München
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 – SS2011 13 Rohs / Kratz, LMU München
kontinuierliche Fourier-Transformation
• Transformation vom Ortsraum in den Frequenzraum
• Transformation vom Frequenzraum in den Ortsraum
F(u) = f (x)e!2!ixu dx!"
"
#
f (x) = F(u)e2!ixu du!"
"
#
Re
Im
cos φ sin φ φ
z = a+bi = reiφ
1 -1
-1
1
a
b r
Computergrafik 2 – SS2011 14 Rohs / Kratz, LMU München
Ist ein Bild eine periodische Funktion?
Computergrafik 2 – SS2011 15 Rohs / Kratz, LMU München
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 – SS2011 16 Rohs / Kratz, LMU München
f (x), x = 0..1
real( f (x) !e"i2! x )
Originalfunktion
real(e!i2! x ) = cos(!2! x)imag(e!i2! x ) = sin(!2! x)
imag( f (x) !e"i2! x )
Gewichtungsfunktionen
Ergebnis (f*sin und f*cos)
Beispiel: F(1) = ...
F(1) = f (x) !e"i2! x dx"#
#
$ , F(1) > 0
Computergrafik 2 – SS2011 17 Rohs / Kratz, LMU München
f (x), x = 0..1
real( f (x) !e"i2! 2 x )
Originalfunktion
real(e!i2! 2 x ) = cos(!2!2x)imag(e!i2! 2 x ) = sin(!2!2x)
imag( f (x) !e"i2! 2 x )
Gewichtungsfunktionen
Ergebnis (f*sin und f*cos)
Beispiel: F(2) = ...
F(2) = f (x) !e"i2! 2 x dx"#
#
$ , F(2) = 0
Computergrafik 2 – SS2011 18 Rohs / Kratz, LMU München
e!i2! 4x
f (x) "e!i2! 4x
F(4) = f (x)e!i2! 4x dx!#
#
$ = 0
f (x)
e!i2! 5x
f (x) "e!i2! 5x
F(5) = f (x) "e!i2! 5x dx!#
#
$ > 0
e!i2! 2 x
f (x) "e!i2! 2 x
F(2) = f (x) "e!i2! 2 x dx!#
#
$ = 0
e!i2! 3x
f (x) "e!i2! 3x
F(3) = f (x) "e!i2! 3x dx!#
#
$ > 0
e!i2! x
f (x)e!i2! x
F(1) = f (x) "e!i2! x dx!#
#
$ > 0
Computergrafik 2 – SS2011 19 Rohs / Kratz, LMU München
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
Computergrafik 2 – SS2011 20 Rohs / Kratz, LMU München
Exkurs: Vektorrechnung
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
100
,010
,001
bilden eine Basis b1 des R3 sind paarweise orthogonal haben Länge 1
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
−⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
100
,02/12/1
,02/12/1
bilden ebenfalls eine Basis b2 des R3 sind ebenfalls paarweise orthogonal Haben ebenfalls Länge 1
⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
−
10002/12/102/12/1 Ist orthogonal und normiert
(d.h. MT = M-1) Ist Basiswechselmatrix von b1 nach b2
Computergrafik 2 – SS2011 21 Rohs / Kratz, LMU München
Basiswechsel
• Sei V ein n-dimensionaler Vektorraum über Körper K mit Basen B={b1, ..., bn} 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‘:
bj = aijbi 'i=1
n
!
v = xibii=1
n
!
v = xi 'bi 'i=1
n
!
v = x jbjj=1
n
! = x j aijbi 'i=1
n
!j=1
n
! = x jaijij=1
n
!"
#$$
%
&''bi '
i=1
n
! = cibi 'i=1
n
! = xi 'bi 'i=1
n
!
Computergrafik 2 – SS2011 22 Rohs / Kratz, LMU München
Basiswechsel
• Also: mit
• in Matrix-Notation:
xi ' = x jaijij=1
n
!
x1 '!xn '
!
"
####
$
%
&&&&=
a11 " a1n! # !an1 " ann
!
"
####
$
%
&&&&
x1!xn
!
"
####
$
%
&&&&
v = x jbjj=1
n
! = x j aijbi 'i=1
n
!j=1
n
! = x jaijij=1
n
!"
#$$
%
&''bi '
i=1
n
! = cibi 'i=1
n
! = xi 'bi 'i=1
n
!
bj = aijbi 'i=1
n
!
Computergrafik 2 – SS2011 23 Rohs / Kratz, LMU München
Anschaulich: Basisvektoren eines Bildes
• Wahl anderer Basisvektoren è Transformation mittels Basiswechsel
• Basiswechselmatrix vom Rang der Pixelanzahl
1 0 0 0 = 1 * 1 0 1 0
0 1 0 0 + 0 *
0 0 1 0 + 1 *
0 0 0 1 + 0 *
bilden eine Basis des R4 sind paarweise orthogonal haben Länge 1
Computergrafik 2 – SS2011 24 Rohs / Kratz, LMU München
Orthogonale Funktionen
• Seien f1 und f2 Funktionen, die an N Stellen abgetastet sind (also N-dim. Vektoren)
• f1 und f2 sind orthogonal, falls gilt:
• D.h. das Skalarprodukt der zugehörigen Vektoren ist 0
• N paarweise orthogonale Funktionen f1 … fN bilden damit eine orthogonale Basis des N-dim. Raums
• Transformationen zwischen orthogonalen Basen sind immer umkehrbar
0)()(* 1
0 2121 ==∑−
=
N
kkfkfff
Computergrafik 2 – SS2011 25 Rohs / Kratz, LMU München
Orthogonale Funktionen
Computergrafik 2 – SS2011 26 Rohs / Kratz, LMU München
Orthogonale Funktionstransformationen
• Betrachte abgetastete Funktionen wie Vektoren • Finde neue geeignete orthogonalen 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
xAy =
yAx 1−=
Computergrafik 2 – SS2011 27 Rohs / Kratz, LMU München
Fourierbasis (1. Versuch, nur cos)
• Ausgangspunkt: Bildzeile mit N Pixeln
• 1. Versuch: wähle N Kosinusfunktionen
• 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
cos 0 ! 2!N
"
#$
%
&', cos 1!
2!N
"
#$
%
&', cos 2 !
2!N
"
#$
%
&', ..., cos (N (1) ! 2!
N"
#$
%
&'
Computergrafik 2 – SS2011 28 Rohs / Kratz, LMU München
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
0*2π/5
1*2π/5
2*2π/5
3*2π/5
4*2π/5
5*2π/5
6*2π/5
7*2π/5
Computergrafik 2 – SS2011 29 Rohs / Kratz, LMU München
Fourierbasis (1. Versuch, nur cos)
• N=5, ui = 1, uj = 4 = N – uj • Problem: falls ui = N – uj ist, sind die Abtastungen gleich • è nur N/2 Funktionen verfügbar, keine Basis • Siehe auch Shannon-Nyquist Theorem, Aliasing
Computergrafik 2 – SS2011 30 Rohs / Kratz, LMU München
Fourierbasis (1. Versuch, nur cos)
N = 4
Computergrafik 2 – SS2011 31 Rohs / Kratz, LMU München
1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0
1.0 0.3 -0.8 -0.8 0.3 0.0 1.0 0.6 -0.6 -1.0
1.0 -0.8 0.3 0.3 -0.8 0.0 0.6 -1.0 1.0 -0.6
1.0 -0.8 0.3 0.3 -0.8 0.0 -0.6 1.0 -1.0 0.6
1.0 0.3 -0.8 -0.8 0.3 0.0 -1.0 -0.6 0.6 1.0
1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0
1.0 0.3 -0.8 -0.8 0.3 0.0 1.0 0.6 -0.6 -1.0
1.0 -0.8 0.3 0.3 -0.8 0.0 0.6 -1.0 1.0 -0.6
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: sin:
cos: sin:
cos: sin:
cos: sin:
cos: sin:
cos: sin:
cos: sin:
cos: sin:
Computergrafik 2 – SS2011 32 Rohs / Kratz, LMU München
Basisfunktionspaare (cos, sin)
N = 4
Computergrafik 2 – SS2011 33 Rohs / Kratz, LMU München
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 – SS2011 34 Rohs / Kratz, LMU München
Erinnerung: komplexe Zahlen
Imaginäre Achse
Reelle Achse
Imaginärteil i*b
Realteil a z
r
))sin()(cos( θθθ ⋅+=⋅=+= ireribaz i
θ
Computergrafik 2 – SS2011 35 Rohs / Kratz, LMU München
Komplexe periodische Funktionen
Computergrafik 2 – SS2011 36 Rohs / Kratz, LMU München
Komplexes Skalarprodukt
• Skalarprodukt zweier Vektoren mit komplexen Elementen
• Zu x = a + ib komplex- konjugierte Zahl ist x* = a - ib
!x •!b = xi ! yi
* =i=0
N"1
# Re(xi )+ i Im(xi )( ) Re(yi )" i Im(yi )( )i=0
N"1
#
Computergrafik 2 – SS2011 37 Rohs / Kratz, LMU München
Fourierbasis (2. Versuch, komplexe Fn.)
• 2. Versuch: wähle komplexe Funktionen
• Wobei u ein ganzzahliges Vielfaches von u0 = 2π/N
• à N verschiedene Funktionen
• Ist eine Basis
)sin()cos( uniunf +=
Computergrafik 2 – SS2011 38 Rohs / Kratz, LMU München
Repräsentation als Exponentialfunktion
αααα iixxi eeexix ==+++ + )()sin()cos(
Computergrafik 2 – SS2011 39 Rohs / Kratz, LMU München
1D-Basisfunktionen
1 0 1 0
b0 (n) = [(1, 0), (1, 0),..., (1, 0)]
Computergrafik 2 – SS2011 40 Rohs / Kratz, LMU München
2D-Basisfunktionen
f (u,v) = u2 + v2Frequenz:
Richtungsvektor: r(u,v) = 1f (u,v)
uv
!
"#
$
%&
Computergrafik 2 – SS2011 41 Rohs / Kratz, LMU München
2D-Fourier-Transformationspaar
• Transformationspaar für Bilder der Größe M×N • Transformation vom Ortsraum in den Frequenzraum
• Transformation vom Frequenzraum in den Ortsraum
F(u,v) = f (m,n) !exp "i2! umM
+vnN
#
$%
&
'(
#
$%
&
'(n=0
N"1)m=0
M"1)
f (m,n) = 1MN
F(u,v) !exp i2! umM
+vnN
"
#$
%
&'
"
#$
%
&'n=0
N(1)m=0
M(1)
Computergrafik 2 – SS2011 42 Rohs / Kratz, LMU München
2D-Fourier-Transformationspaar
• Transformationspaar für Bilder der Größe N×N • Transformation vom Ortsraum in den Frequenzraum
• Transformation vom Frequenzraum in den Ortsraum
F(u,v) = 1N
f (m,n) !exp "i 2!N
um+ vn( )#
$%
&
'(
n=0
N"1)m=0
N"1)
f (m,n) = 1N
F(u,v) !exp i 2!N
um+ vn( )"
#$
%
&'
n=0
N(1)m=0
N(1)
Computergrafik 2 – SS2011 43 Rohs / Kratz, LMU München
Phase und Amplitude
• Funktionswerte von F(u,v) = a+ib sind komplexe Zahlen – Betrag eines Funktionswerts: Amplitude = |F(u,v)| = sqrt(a2+b2) – Winkel zur reellen Achse: Phase = tan-1(b/a) – Amplitude und Phase sind Parameter der jeweiligen Basisfunktion
Computergrafik 2 – SS2011 44 Rohs / Kratz, LMU München
Zweidimensionale Fouriertransformation
Computergrafik 2 – SS2011 45 Rohs / Kratz, LMU München
Beispiele für Amplitude
FT
FT
Computergrafik 2 – SS2011 46 Rohs / Kratz, LMU München
Darstellungsweise
Original Amplitude (zentriert, d.h. von –N/2 bis N/2)
Amplitude (log. Skala)
Amplitude (zentriert, log. Skala)
Computergrafik 2 – SS2011 47 Rohs / Kratz, LMU München
Beispiele
Amplitude
Phase
Computergrafik 2 – SS2011 48 Rohs / Kratz, LMU München
Einfluss von Amplitude und Phase
Computergrafik 2 – SS2011 49 Rohs / Kratz, LMU München
Translation
Computergrafik 2 – SS2011 50 Rohs / Kratz, LMU München
Computergrafik 2 – SS2011 51 Rohs / Kratz, LMU München
Phasenverschiebung
Computergrafik 2 – SS2011 52 Rohs / Kratz, LMU München
Computergrafik 2 – SS2011 53 Rohs / Kratz, LMU München
Periodizität und Symmetrie
x
F(u) = f (n) !exp "i2! unN
#
$%
&
'(
n=0
N"1)
Computergrafik 2 – SS2011 54 Rohs / Kratz, LMU München
Separabilität
Computergrafik 2 – SS2011 55 Rohs / Kratz, LMU München
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 N2).
• Achtung: Padding wegen Periodizität! P = A + B - 1
Computergrafik 2 – SS2011 56 Rohs / Kratz, LMU München
Konvolution im Frequenzraum
Computergrafik 2 – SS2011 57 Rohs / Kratz, LMU München
Konvolution im Frequenzraum
• 1D-Konvolution
• 2D-Konvolution
f (x)!h(x) = f (n) "h(x # n)n=0
N#1$
% F(u) "H (u)
f (x, y)!h(x, y) = f (m,n)n=0
N"1# $h(x "m, y" n)
m=0
M"1#
% F(u,v) $H (u,v)
Computergrafik 2 – SS2011 58 Rohs / Kratz, LMU München
© R. C. Gonzalez & R. E. Woods, Digital Image Processing
Wraparound Error • Padding:
P ≥ A + B - 1
Computergrafik 2 – SS2011 59 Rohs / Kratz, LMU München
Padding
© R. C. Gonzalez & R. E. Woods, Digital Image Processing
Computergrafik 2 – SS2011 60 Rohs / Kratz, LMU München
FAST FOURIER TRANSFORM (FFT)
Computergrafik 2 – SS2011 61 Rohs / Kratz, LMU München
Vorgehensweise generell
• Vereinfachende Annahme: N=2k, k>1 • Nutze Separabilität, um 2D-FT auf 1D zurückzuführen
(O(N4) à O(N3)) • 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(N3) à O(N2 log N)
Computergrafik 2 – SS2011 62 Rohs / Kratz, LMU München
Separabilität
∑
∑ ∑
∑ ∑
∑ ∑
∑ ∑
−
=
−
=
−
=
−
=
−
=
−
=
−
=
−
=
−
=
⎥⎦
⎤⎢⎣
⎡−=
=⎟⎟⎠
⎞⎜⎜⎝
⎛⎥⎦
⎤⎢⎣
⎡−⎥⎦
⎤⎢⎣
⎡−=
=⎥⎦
⎤⎢⎣
⎡−⎟⎟⎠
⎞⎜⎜⎝
⎛⎥⎦
⎤⎢⎣
⎡−=
=⎥⎦
⎤⎢⎣
⎡−⎥⎦
⎤⎢⎣
⎡−=
=⎥⎦
⎤⎢⎣
⎡ +−=
1
0
1
0
1
0
1
0
1
0
1
0
1
02
1
0
1
02
)(2exp1
2exp),(12exp1
2exp2exp),(11
2exp2exp),(1
)(2exp),(1),(
N
m u
N
m
N
n
N
m
N
n
N
m
N
n
N
m
N
n
mFumNi
N
vnNinmf
Num
Ni
N
umNivn
Ninmf
NN
vnNium
Ninmf
N
vnumNinmf
NvuF
π
ππ
ππ
ππ
π
• Vorgehensweise: Fu(m) für alle Spalten m berechnen und dann bei den Zeilen verwenden.
Computergrafik 2 – SS2011 63 Rohs / Kratz, LMU München
Divide Schritt
⎟⎠
⎞⎜⎝
⎛ ++=
===
⎟⎠
⎞⎜⎝
⎛−==
∑∑
∑∑−
=
+−
=
−
=
−
=
1
0)12(
21
02
2
12
0 21
0
))(12(1))(2(121
))((21))((1)(
2exp,2
K
nun
KK
nnu
K
K
nun
KN
nun
N
N
WnfK
WnfK
WnfK
WnfN
uF
NiWKN π
( )uKoddeven
K
nnu
KoddK
nnu
Keven
WuFuFuF
WnfK
uFWnfK
uF
))(()(21)(
))(12(1)(,))(2(1)(
2
1
02
21
02
2
+=
+== ∑∑−
=
−
=
• Finde Gemeinsamkeiten in den Teilsummen
• Teile Summe in zwei Teilsummen auf
Computergrafik 2 – SS2011 64 Rohs / Kratz, LMU München
Ausnutzen der Periodizität
WK( )u+N = WK( )u , W2K( )u+K = ! W2K( )u
F u+K( ) = 12Feven u+K( )+Fodd u+K( ) W2K( )u+K( ) =
=12Feven u( )!Fodd u( ) W2K( )u( )
• Also kann man F(u+K) mithilfe F(u) berechnen (einmal Feven + Fodd, einmal Feven – Fodd)
• Betrachte die Teilsumme [0…K-1] und unterteile rekursiv bis K=1 (O(n3) à O(n2 log n)
N = 2K,WN = exp !i 2!N
"
#$
%
&'
Computergrafik 2 – SS2011 65 Rohs / Kratz, LMU München
Fourier Transformation zum Anschauen
• http://www.cs.brown.edu/exploratories/
Computergrafik 2 – SS2011 66 Rohs / Kratz, LMU München
Überlagerung von Schwingungen: anschaulich
http://www.jhu.edu/~signals/index.html