lec10 - CS575 Parallel Processing Lecture ten: Fast Fourier...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CS575 Parallel Processing Lecture ten: Fast Fourier Transform Wim Bohm, Colorado State University Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 license. CS575dl lecture 10 2 Fourier Series Fourier proved the following All periodic functions (or a function that is non zero over a finite domain) can be approximated by linear combinations of sines and cosines Periodic function (period T): F(t+T) = F(t) 2200 t That approximation is the Fourier series . Compare this to Taylor approximation: A function can be approximated by a polynomial, which is a linear combination of basic polynomials x i In both cases there is a set of basis functions that allow us to approximate any function The more basis functions the closer the approximation Sinusoidal functions CS575dl lecture 10 3 a a cos t a sin t 2 2a sin t a sin 1/2t 2 4 2 a 2a a sin2t a f(t) = m+acos(t+) m : mean value, the average height above abscissa a : amplitude, height of oscilation : angular frequency (radians/time), =2f f : frequency (cycles/time), f = 1/T, T: period : phase angle or phase shift extent to which sinusoid is shifted horizontally Continuous Fourier Series For a function with period T, we can write where a k and b k describe the response of f to a sine or cosine with a certain frequency: CS575dl lecture 10 4 )) sin( ) cos( ( ) ( 1 t k t k t f b a a k k k + + = = ,... 2 , 1 ) sin( ) ( 2 ) cos( ) ( 2 = = = k dt t k t f T dt t k t f T T k T k b a Euler Euler relates sin and cos to the complex plane e i = cos + i sin Take = cos = -1, sin = 0 which gets us Eulers famous identity : e i = -1 CS575dl lecture 10 5 cos e i = cos + i sin 1 Re Im i sin r=1 CS575dl lecture 10 6 DFT and FFT DFT: discrete version of Fourier series in complex domain, written using Eulers e i = cos + i sin notation FFT implements DFT in O(n.log(n)) time ) sin( ) cos( ) sin( ) cos( 1 : cos sin, 1 .. 1 .. 1 1 1 1 1 n k i n k n k i n k N notation in or N n for inverse the and N k for N F F f f f F e F f e f F k N n k n n N n n k n ik N n n n n ik N n n k + =- =- = =- = = - =- =- =-- = Convolution: Polynomial multiplication A more intuitive approach to Fourier transforms, noticing that Fourier transform is a convolution of X and (co)sines Convolution: p(x) and q(x): polynomials of degree n, compute p(x)*q(x) Trivial solution O(n 2 ) Slightly better: divide and conquer p(x) = x n/2 *p r (x) + p l (x) q(x) = x n/2 *q r (x) + q l (x) we can do this with 3 multiplications of size n/ 2 and some additions, complexity CS575dl lecture 10 7 Transformation S 1 S 1 S 1 is some representation of some domain e.g. polynomials in coefficient form, f is some function, e.g. convolution S 1 maps representation S 1 to representation S 2 S 2 , e.g. point-wise form (x,(p(x)) CS575dl lecture 10 8 f Transformation cont...
View Full Document

Page1 / 35

lec10 - CS575 Parallel Processing Lecture ten: Fast Fourier...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online