The Discrete Fourier transform

Similar documents
3.2 Complex Sinusoids and Frequency Response of LTI Systems

Chapter 2: The Fourier Transform

The Fourier transform allows an arbitrary function to be represented in terms of simple sinusoids. The Fourier transform (FT) of a function f(t) is

Discrete Fourier Transform

Summary of lecture 1. E x = E x =T. X T (e i!t ) which motivates us to define the energy spectrum Φ xx (!) = jx (i!)j 2 Z 1 Z =T. 2 d!

Review: Continuous Fourier Transform

E The Fast Fourier Transform

Fourier Transform for Continuous Functions

Lecture 27 Frequency Response 2

The Hilbert Transform

APPENDIX A. The Fourier integral theorem

EDISP (NWL3) (English) Digital Signal Processing DFT Windowing, FFT. October 19, 2016

Fall 2011, EE123 Digital Signal Processing

Fourier analysis of discrete-time signals. (Lathi Chapt. 10 and these slides)

Correlator I. Basics. Chapter Introduction. 8.2 Digitization Sampling. D. Anish Roshi

Lecture 7. Fourier Analysis

Time and Spatial Series and Transforms

Information and Communications Security: Encryption and Information Hiding

EE482: Digital Signal Processing Applications

HST.582J / 6.555J / J Biomedical Signal and Image Processing Spring 2007

Frequency-domain representation of discrete-time signals

1. Calculation of the DFT

The Fourier Transform (and more )

MA3232 Numerical Analysis Week 9. James Cooley (1926-)

Sound & Vibration Magazine March, Fundamentals of the Discrete Fourier Transform

Discrete Fourier Transform

ELEG 305: Digital Signal Processing

The Discrete Fourier Transform

MATH Dr. Halimah Alshehri Dr. Halimah Alshehri

EEO 401 Digital Signal Processing Prof. Mark Fowler

Discrete Fourier transform (DFT)

ENT 315 Medical Signal Processing CHAPTER 2 DISCRETE FOURIER TRANSFORM. Dr. Lim Chee Chin

3. Frequency-Domain Analysis of Continuous- Time Signals and Systems

/ (2π) X(e jω ) dω. 4. An 8 point sequence is given by x(n) = {2,2,2,2,1,1,1,1}. Compute 8 point DFT of x(n) by

Radar Systems Engineering Lecture 3 Review of Signals, Systems and Digital Signal Processing

PART 1. Review of DSP. f (t)e iωt dt. F(ω) = f (t) = 1 2π. F(ω)e iωt dω. f (t) F (ω) The Fourier Transform. Fourier Transform.

Lecture 20: Discrete Fourier Transform and FFT

3 What You Should Know About Complex Numbers

! Circular Convolution. " Linear convolution with circular convolution. ! Discrete Fourier Transform. " Linear convolution through circular

EE123 Digital Signal Processing

VII. Discrete Fourier Transform (DFT) Chapter-8. A. Modulo Arithmetic. (n) N is n modulo N, n is an integer variable.

Continuous Fourier transform of a Gaussian Function

Continuous Time Signal Analysis: the Fourier Transform. Lathi Chapter 4

Computational Methods for Astrophysics: Fourier Transforms

Lecture 7 January 26, 2016

Linear Convolution Using FFT

[ ], [ ] [ ] [ ] = [ ] [ ] [ ]{ [ 1] [ 2]

Sequential Fast Fourier Transform (PSC ) Sequential FFT

Using MATLAB with the Convolution Method

Chapter 4 Discrete Fourier Transform (DFT) And Signal Spectrum

The Discrete Fourier Transform. Signal Processing PSYCH 711/712 Lecture 3

DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EC2314- DIGITAL SIGNAL PROCESSING UNIT I INTRODUCTION PART A

Transforms and Orthogonal Bases

Multidimensional digital signal processing

Fourier Analysis of Signals Using the DFT

Figure 1: Circuit for Simon s Algorithm. The above circuit corresponds to the following sequence of transformations.

Fourier Series and Fourier Transforms

5.6 Convolution and FFT

Chapter 8 The Discrete Fourier Transform

Digital Signal Processing. Midterm 2 Solutions

Multimedia Signals and Systems - Audio and Video. Signal, Image, Video Processing Review-Introduction, MP3 and MPEG2

COM S 330 Lecture Notes Week of Feb 9 13

Algorithm Design and Analysis

UCSD SIO221c: (Gille) 1

SEISMIC WAVE PROPAGATION. Lecture 2: Fourier Analysis

The Discrete-time Fourier Transform

Topic 3: Fourier Series (FS)

DSP Configurations. responded with: thus the system function for this filter would be

N= {1,2,3,4,5,6,7,8,9,10,11,...}

Complex Numbers. Integers, Rationals, and Reals. The natural numbers: The integers:

Ch. 15 Wavelet-Based Compression

Fundamentals of the DFT (fft) Algorithms

Fourier transform. Stefano Ferrari. Università degli Studi di Milano Methods for Image Processing. academic year

How to Multiply. 5.5 Integer Multiplication. Complex Multiplication. Integer Arithmetic. Complex multiplication. (a + bi) (c + di) = x + yi.

IT DIGITAL SIGNAL PROCESSING (2013 regulation) UNIT-1 SIGNALS AND SYSTEMS PART-A

INTRODUCTION TO DELTA-SIGMA ADCS

Lecture 28 Continuous-Time Fourier Transform 2

Solutions to Assignment 4

Lecture 5. The Digital Fourier Transform. (Based, in part, on The Scientist and Engineer's Guide to Digital Signal Processing by Steven Smith)

EA2.3 - Electronics 2 1

Digital Signal Processing, Lecture 2 Frequency description continued, DFT

EE3210 Lab 3: Periodic Signal Representation by Fourier Series

Contents. Digital Signal Processing, Part II: Power Spectrum Estimation

DIGITAL SIGNAL PROCESSING UNIT I

ESS Finite Impulse Response Filters and the Z-transform

9.4 Enhancing the SNR of Digitized Signals

20. The pole diagram and the Laplace transform

CS1800 Discrete Structures Final Version A

VU Signal and Image Processing. Torsten Möller + Hrvoje Bogunović + Raphael Sahann

The tangent FFT. D. J. Bernstein University of Illinois at Chicago

Fourier Series and Transform KEEE343 Communication Theory Lecture #7, March 24, Prof. Young-Chai Ko

Chapter 12 Variable Phase Interpolation

CHAPTER 4 FOURIER SERIES S A B A R I N A I S M A I L

CSE 548: Analysis of Algorithms. Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication )

Discrete-time Fourier Series (DTFS)

ENSC327 Communications Systems 2: Fourier Representations. Jie Liang School of Engineering Science Simon Fraser University

Review of Frequency Domain Fourier Series: Continuous periodic frequency components

Experimental Fourier Transforms

Fourier transforms and convolution

Tutorial Sheet #2 discrete vs. continuous functions, periodicity, sampling

Transcription:

453.70 Linear Systems, S.M. Tan, The University of uckland 9- Chapter 9 The Discrete Fourier transform 9. DeÞnition When computing spectra on a computer it is not possible to carry out the integrals involved in the continuous time Fourier transform. Instead a related transform called the discrete Fourier transform is used. We shall examine the properties of this transform and its relationship to the continuous time Fourier transform. The discrete Fourier transform (also known as the Þnite Fourier transform) relates two Þnite sequences of length. Given a sequence with components x[k] for k =0; ;:::;, the discrete Fourier transform of this sequence is a sequence [r] for r =0; ;:::; deþned by [r] = The corresponding inverse transform is x[k] = r=0 µ x[k]exp j¼rk µ j¼rk [r]exp otice that we shall adopt the deþnition in which there is a factor of = in front of the forward transform. Other conventions place this factor in front of the inverse transform (this is used by MatLab) or a factor of = p in front of both transforms. Exercise: Show that these relationships are indeed inverses of each other. It is useful Þrst to establish the relationship r=0 µ ½ j¼rk exp = if k is a multiple of 0 otherwise (9.) (9.) (9.3) 9. Discrete Fourier transform of a sampled complex exponential common application of the discrete Fourier transform is to Þnd sinusoidal components within a signal. The continuous Fourier transform of exp(j¼º 0 t) is simply a delta function ±(º º 0 ) at the frequency º 0. We now calculate the discrete Fourier transform of a sampled complex exponential x[k] = exp (j¼º 0 k ) ; for k =0; ;:::; (9.4) The sampling interval is and we denote the duration of the entire sampled signal by T =. Substituting (9.4) into the deþnition of the discrete Fourier transform (9.) yields [r] = µ exp j ¼k [º 0 T r] (9.5) If º 0 T is an integer, i.e., if there are an integer number of cycles in the frame of duration T,wesee that ½ if r º0 T is a multiple of [r] = (9.6) 0 otherwise

453.70 Linear Systems, S.M. Tan, The University of uckland 9- In this case, there is only a single non-zero term in the discrete Fourier transform at an index which depends on the frequency º 0. The value of this non-zero term is, the complex amplitude of the component. If º 0 T is not an integer however, we Þnd that [r] = exp ( j¼( )(r º 0T )= ) sin[¼(r º 0 T )] sin[¼(r º 0 T )= ] (9.7) This is nonzero for all values of r. Thus even though there is only a single frequency component in the signal, it can affect all the terms in the discrete Fourier transform. plot of the last factor in the equation (9.7) is shown in Figure 9.. Since r only takes on integer values, the terms in the output sequence are samples from this function taken at unit spacing. Unless the centre of the function at º 0 T coincides with an integer, all samples will be non-zero. The sidelobes of the underlying circular sinc function cause the single frequency component to be smeared out into adjacent samples. This phenomenon is known as spectral leakage. Figure 9. Values of discrete Fourier transform of a complex exponential when º 0 T is not an integer. Crosses show values of sin [¼ (r º 0 T )] = sin [¼ (r º 0 T ) = ] for integer values of r: ote that if is large and we are considering those components for which r º 0 T, wecan approximate sin[¼(r º 0 T )= ] by ¼(r º 0 T )= and ( )= ¼ so that (9.7) becomes [r] ¼ exp ( j¼(r º 0 T )) sinc(r º 0 T ) (9.8) 9.3 Sinusoidal and Cosinusoidal components Suppose that we have µ ¼mk x[k] = cos for k =0; ;:::; (9.9) where m is an integer lying between and = so that there are m cycles within the sequence of length. Writing this in terms of complex exponentials, we have x[k] = µ j¼mk exp + µ j¼mk exp (9.0)

453.70 Linear Systems, S.M. Tan, The University of uckland 9-3 Taking the discrete Fourier transform of this leads to two nonzero terms in [r]. The Þrst occurs at r = m and is of amplitude = corresponding to the Þrst complex exponential whereas the second is at r = m since [ m] = = = exp exp exp µ j¼mk + µ µ j¼mk j¼( m)k exp exp µ µ µ j¼mk j¼mk j¼mk +exp exp µ j4¼mk + = (9.) Similarly if µ ¼mk x[k] =B sin for k =0; ;:::; (9.) it is easy to show that there are again two nonzero elements in [r], namely 8 < jb= if r = m [r] = jb= if r = m (9.3) : 0 otherwise We can interpret [] through [=] as representing positive frequencies while [=+]through [ ] represent negative frequencies. So if f(t) = 0 + cos(! 0 t)+ cos(! 0 t)+::: / cos(! 0 t=)+ B sin(! 0 t)+b sin(! 0 t)+:::b / cos((= )! 0 t) (9.4) where! 0 =¼=T and x[k] =f[kt=] for k =0; ;:::;, the discrete Fourier transform [r] satisþes 0 = 0 = ( jb ) = ( + jb ). / = / 9.4 Relationship to the continuous time Fourier transform There are two distinct but related ways of expressing the discrete Fourier transform to the continuous time Fourier transform. In the Þrst approach, starting with the sequence with terms x[k] for k =0; ;:::; we deþne the function x c (t) = x[k]±(t k ) (9.5)

453.70 Linear Systems, S.M. Tan, The University of uckland 9-4 where is the sampling interval. The continuous time Fourier transform of x c (t) is given by c (º) = = Z x[k]±(t k )exp( j¼ºt) dt x[k]exp( j¼ºk ) (9.6) c (º) is periodic with period =. Comparing this with the deþnition of the discrete Fourier transform we see that [r] = ³ r c (9.7) So in this approach the discrete Fourier transform is interpreted as a sampled version of the continuous Fourier transform of x c (t). In the alternative view, we consider the continuous time signal which is the inþnite periodic extension of x c (t), i.e., x p (t) = x[k mod ]±(t k ) (9.8) k= where k mod denotes the non-negative remainder when k is divided by. Since x p (t) is the convolution of x c (t) with P r ±(t r ), the Fourier transform of x p(t) is p (º) = c (º) r= = ³ r c r= = [r mod ]± r= ³ ± º r ³ ± º r ³ º r (9.9) In this alternative approach, the terms in the discrete Fourier transform are seen to give the areas of the delta functions in p (º). This picture has the advantage of symmetry between the time and frequency domains since the functions x p (t) and p (º) are each sampled and periodic. In particular In the time domain, the sampling interval is and the function repeats every In the frequency domain, the sampling interval is = ( ) and the function repeats every = This reciprocal relationship between the sampling in the time and frequency spaces of the discrete Fourier transform is very useful and should be memorized. If x[k] originally comes from sampling a continuous signal x(t), i.e., x[k] =x(k ), it is easy to relate x c (t) to x(t) since x c (t) = x(k )±(t k ) µ t ( ) = = x(t) k= ±(t k )

453.70 Linear Systems, S.M. Tan, The University of uckland 9-5 The Fourier transform of this thus involves two convolutions c (º) =(º) T sinc(ºt)exp( j¼( )ºT=) k= µ ± º k (9.0) where T =.The Þrst convolution is responsible for the spectral leakage whereas the second is responsible for aliasing. We ³ see that spectral leakage arises from taking the Fourier transform of a rectangular window t ()τ/ τ which multiplies the original function x(t). In the frequency domain, its effect is to convolve the true spectrum with a sinc function which has relatively large sidelobes. It is possible to reduce the spectral leakage considerably by introducing a non-rectangular window function which has a Fourier transform with small sidelobes. For example, the Hanning window is deþned on [0; ] by 8 µ < ¼t cos if 0 <t< h(t) = (9.) : 0 otherwise The Fourier transform of the Hanning window and the rectangular window are shown in Figure 9.. For the purposes of drawing the graph, each window is shifted so that it is an real even function which leads to a real even Fourier transform. The sidelobes of the Hanning window are much smaller than those of the rectangular window although its central peak is somewhat wider. In order to use a Hanning window, it is only necessary to deþne the sequence x[k] whose discrete Fourier transform we compute by x[k] = h(k )x(k ) =( cos (¼k=))x(k ) (9.) Most digital spectrum analyzers have the option of selecting some form of window to reduce spectral leakage. Figure 9. Fourier transform of a rectangular window and a Hanning window showing the reduction of spectral leakage with the Hanning window

453.70 Linear Systems, S.M. Tan, The University of uckland 9-6 9.5 The fast Fourier transform (FFT) algorithm The discrete Fourier transform of a sequence of points requires O( ) arithmetic operations to compute if a straightforward implementation of its deþnition is carried out. For large, this can become prohibitive. In 965, Cooley and Tukey rediscovered (it was previously used by Gauss and Runge) a very efficient way of calculating the discrete Fourier transform which involves O( log ) operations. This is known as the fast Fourier transform (FFT) algorithm. Many variants of the FFT algorithm exist. We shall discuss the simplest form known as the decimation in time algorithm. The central insight which leads to this algorithm is the realization that a discrete Fourier transform of a sequence of points can be written in terms of two discrete Fourier transforms of length =. Thus if is a power of two, it is possible to recursively apply this decomposition until we are left with discrete Fourier transforms of single points. Consider an unnormalized discrete Fourier transform of points which we can write as [r] = x[k]w rk (9.3) where W =exp(j¼=). The normalization factor = can always be applied at the end of the algorithm We split the sum into terms with even indices and with odd indices yielding [r] = / / x[k]w rk + Using the fact that W = W /, wemaywritethisas [r] = / = [r]+w r / x[k]w rk / + W r x[k +]W r(k+) (9.4) x[k +]W rk / B[r] (9.5) where [r] is the = point Fourier transform of the even terms of x and B r is the = point Fourier transform of the odd terms of x. The above result is valid for r =0; ;:::;=. Inorder to obtain the rest of we note that [r + =] = = / / / x[k]w (r+/)k / + W (r+/) / x[k]w rk / W r x[k +]W rk / x[k +]W (r+/)k / = [r] W r B[r] (9.6) Equations (9.5) and (9.6) express the point FFT of x[k] in terms of two FFTs of length =. Consider the calculation for the situation in which =8. The diagram in Figure 9.3 is called a butterßy diagram and it shows the ßow of data through the algorithm. Starting at the right, notice how the terms [0] through [3] are calculated from [r] and B[r] via the relationship (9.5). Similarly, [4] through [7] are calculated from [r] and B[r] via the relationship (9.6).

453.70 Linear Systems, S.M. Tan, The University of uckland 9-7 000 00 00 0 00 0 0 x 0 x 4 x x 6 x x 5 x 3 x 7 EVES EVES H - C 0-0 - 0 H HHH * @ H µ W 0 @@ W4 0 W8 0 HHHj - C @ - @ @@ H - µ - W 0 @@ W4 W @ @ @@R- H HHH * 8 ODDS D @@ H HHHj - @ 0 - W W 0 0 4 W @@R- 8 D H - - 3-3 W 0 W4 W H HHH * @ @@ H µ 8 3 EVES ODDS E HHHj - @ - 0 B 0 U- 4 W W 0 0 W4 0 8 @ @@ @@ H - µ E B U- 5 W @ @ @@R- H HHH * 0 W W8 4 ODDS F 0 B U- @@ 6 W W 0 4 W8 0 H HHHj - @ F @@R- B 3 U- 7 W 0 W4 W8 3 Figure 9.3 Butterßy diagram for =8fast Fourier transform

453.70 Linear Systems, S.M. Tan, The University of uckland 9-8 [r] is the sequence which is the fast Fourier transform of the even terms of x[k] namely a[k] = fx[0];x[];x[4];x[6]g. Similarly, B[r] is the sequence which is the fast Fourier transform of the odd terms of x[k] namely b[k] =fx[];x[3];x[5];x[7]g. We can similarly express [r] and B[r] in terms of fast Fourier transforms of length. Moving to the left in the diagram, we have denoted by C[r] and D[r] the two point Fourier transforms that contribute to [r]. We see that C[r] is the Fourier transform of the even points of a[k] which are a[0] = x[0] and a[] = x[4]. These are the even of evens of the sequence x[k]. Similarly D[r] is the Fourier transform of the odd points of a[k] or the odds of evens of the sequence x[k]. These are a[] = x[] and a[3] = x[6]. These two point transforms are Þnally expressed as sums and differences of the single point transforms which are the original data. ll calculations can be done in-place if the original data is shuffled into the correct order initially. If we look at the binary form of the indices of the data points, it is clear that the data must be arranged in bit-reversed order. The complex exponentials required in the calculation may be precomputed and accessed by table lookup in order to speed up the algorithm. In the straightforward implementation of the discrete Fourier transform, there are complex multiplications and complex additions. In the fast Fourier transform algorithm, there are log stages, each of which involves complex multiplications and complex additions or subtractions. The operation count (excluding computation of the complex exponentials and the bit-reversed indexing) is thus log complex multiplications and log complex additions. If additions and multiplications take about the same time, the speed up which can be achieved relative to the straightforward implementation is 4=(3 log ). Thisisabout37 when = 04. Larger transforms show even greater factors of improvement.