This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Notes on Fast Fourier Transform Algorithms & Data Structures 2004 (updated 2007) Dr Mary Cryan 1 Introduction The Discrete Fourier Transform (DFT) is a way of representing functions in terms of a pointvalue representation (a very specific pointvalue representation). We consider complex functions of a single variable throughout these notes, though often the function we are really interested in may actually be a real function of a single variable (and we just find it useful to evaluate the function at complex values as well as real values). Suppose that we consider a polynomial p ( x ) = a + a 1 x + ...a n 1 x n 1 over the field of complex numbers C . We refer to the description of p ( x ) given in the last sentence as its coefficient form . However, suppose we took n different complex numbers x ,...,x n 1 and then computed y j , for every j = 0,...,n 1 as follows: y j = p ( x j ) = n 1 summationdisplay i = a i ( x j ) i = a + a 1 ( x j ) + a 2 ( x j ) 2 + ... + a n 1 ( x j ) n 1 The resulting set of inputoutput pairs < ( x ,y ) , ( x 1 ,y 1 ) ,..., ( x n 1 ,y n 1 ) > is called a pointvalue representation of the polynomial p . It is interesting to ask the question how much information does a pointvalue representation convey about the underlying poly nomial p ? In fact we will see in Subsection 2.2 that the answer is EVERYTHING, if we have evaluated the polynomial at n different x j points. In this set of lecture notes we focus on the pointvalue representation obtained by looking at a particular set of points, the n th roots of unity . In the field of complex numbers C , there are exactly n different solutions to the equation x n = 1 . We call these solutions the nth roots of unity . One of these roots of unity is ω n = cos ( 2π/n )+ i sin ( 2π/n ) , and this is called the principal n th root of unity . It is not too difficult to show that ω n generates the entire set of n th roots of unity as follows, for any n : 1,ω n ,ω 2 n ,ω 3 n ,...,ω n 1 n . The complex numbers in the list above are all n th roots of unity, and they are all different (see Lemma 1 later for a proof). The Discrete Fourier Transform (DFT) of a polynomial p ( x ) of degree AT MOST n 1 is defined to be the pointvalue representation obtained by evaluating p ( x ) at each of the nth roots of unity. We may write the DFT as the list of values p ( 1 ) ,p ( ω ) ,p ( ω 2 ) ,...,p ( ω n 1 ) , where ω n is any primitive n th root of unity . A primitive n th root of unity is any n th root of unity ω such that 1,ω,ω 2 ,...,ω n 1 are all different. It is not difficult to show that ω is a primitive n th root of unity if ω = ω k n , for some value of k which is relatively prime to n ( n and k have no common factors). In practice, we adopt the convention that we work with the principal n th root of unity ω n , unless we state otherwise. It is possible to write the operation of computing the DFT 1 Notes on Fast Fourier Transform ADS 2004, updated 2007 as a matrix multiplication. The DFT is the vectoras a matrix multiplication....
View
Full Document
 Fall '08
 Staff
 Algorithms, Complex Numbers, Data Structures, DFT, Fast Fourier transform, Fast Fourier

Click to edit the document details