ELEG 305: Digital Signal Processing

Similar documents
ELEG 305: Digital Signal Processing

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

ELEG 305: Digital Signal Processing

Fall 2011, EE123 Digital Signal Processing

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

MAHALAKSHMI ENGINEERING COLLEGE-TRICHY

EE482: Digital Signal Processing Applications

Digital Signal Processing. Midterm 2 Solutions

1. Calculation of the DFT

DSP Algorithm Original PowerPoint slides prepared by S. K. Mitra

EE123 Digital Signal Processing

ELEG 305: Digital Signal Processing

Discrete Fourier Transform

DISCRETE FOURIER TRANSFORM

Digital Signal Processing

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

Chapter 2: The Fourier Transform

OLA and FBS Duality Review

LAB 6: FIR Filter Design Summer 2011

Digital Signal Processing. Lecture Notes and Exam Questions DRAFT

Chapter 4 Discrete Fourier Transform (DFT) And Signal Spectrum

R13 SET - 1

Frequency-domain representation of discrete-time signals

DFT & Fast Fourier Transform PART-A. 7. Calculate the number of multiplications needed in the calculation of DFT and FFT with 64 point sequence.

Discrete Fourier transform (DFT)

ECSE 512 Digital Signal Processing I Fall 2010 FINAL EXAMINATION

Transforms and Orthogonal Bases

ESE 531: Digital Signal Processing

SIDDHARTH GROUP OF INSTITUTIONS:: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE)

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

Lecture 20: Discrete Fourier Transform and FFT

EE123 Digital Signal Processing

Module 3. Convolution. Aim

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

EE 225D LECTURE ON DIGITAL FILTERS. University of California Berkeley

How to manipulate Frequencies in Discrete-time Domain? Two Main Approaches

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

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

/ (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

ELEG 305: Digital Signal Processing

Lecture 19 IIR Filters

EEO 401 Digital Signal Processing Prof. Mark Fowler

Discrete Time Fourier Transform (DTFT)

! Review: Discrete Fourier Transform (DFT) ! DFT Properties. " Duality. " Circular Shift. ! Circular Convolution. ! Fast Convolution Methods

The Fourier Transform (and more )

BEE604 Digital Signal Processing

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

Fourier Analysis of Signals Using the DFT

! Spectral Analysis with DFT. ! Windowing. ! Effect of zero-padding. ! Time-dependent Fourier transform. " Aka short-time Fourier transform

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

EE-210. Signals and Systems Homework 7 Solutions

x (2) k even h n=(n) + (n+% x(6) X(3), x (5) 4 x(4)- x(), x (2), Decomposition of an N-point DFT into 2 N/2-point DFT's.

Chirp Transform for FFT

ELEG 305: Digital Signal Processing

In this Lecture. Frequency domain analysis

Introduction to Digital Signal Processing

Chapter 8 The Discrete Fourier Transform

Review of Fundamentals of Digital Signal Processing

Flash File. Module 3 : Sampling and Reconstruction Lecture 28 : Discrete time Fourier transform and its Properties. Objectives: Scope of this Lecture:

Lecture 10. Digital Signal Processing. Chapter 7. Discrete Fourier transform DFT. Mikael Swartling Nedelko Grbic Bengt Mandersson. rev.

convenient means to determine response to a sum of clear evidence of signal properties that are obscured in the original signal

Discrete-time signals and systems

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

7.16 Discrete Fourier Transform

DEPARTMENT OF EI DIGITAL SIGNAL PROCESSING ASSIGNMENT 1

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

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

OLA and FBS Duality Review

Chapter 6: Applications of Fourier Representation Houshou Chen

DIGITAL SIGNAL PROCESSING

6.003 Signal Processing

E : Lecture 1 Introduction

EEL3135: Homework #4

Digital Signal Processing I Final Exam Fall 2008 ECE Dec Cover Sheet

MSc in Applied Mathematics

DFT-Based FIR Filtering. See Porat s Book: 4.7, 5.6

Interchange of Filtering and Downsampling/Upsampling

Digital Signal Processing Lecture 5

Let H(z) = P(z)/Q(z) be the system function of a rational form. Let us represent both P(z) and Q(z) as polynomials of z (not z -1 )

WEEK10 Fast Fourier Transform (FFT) (Theory and Implementation)

Linear Convolution Using FFT

Digital Signal Processing Lecture 4

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

1 1.27z z 2. 1 z H 2

6.003: Signal Processing

Review of Frequency Domain Fourier Series: Continuous periodic frequency components

Lecture 14: Windowing

The Discrete Fourier Transform

! Introduction. ! Discrete Time Signals & Systems. ! Z-Transform. ! Inverse Z-Transform. ! Sampling of Continuous Time Signals

Very useful for designing and analyzing signal processing systems

EE123 Digital Signal Processing

Fundamentals of the DFT (fft) Algorithms

Digital Signal Processing Chapter 10. Fourier Analysis of Discrete- Time Signals and Systems CHI. CES Engineering. Prof. Yasser Mostafa Kadah

Chap 2. Discrete-Time Signals and Systems

8 The Discrete Fourier Transform (DFT)

6.003 Signal Processing

CS 179: GPU Programming. Lecture 9 / Homework 3

EE123 Digital Signal Processing

The Discrete Fourier transform

L29: Fourier analysis

Transcription:

ELEG 5: Digital Signal Processing Lecture 6: The Fast Fourier Transform; Radix Decimatation in Time Kenneth E. Barner Department of Electrical and Computer Engineering University of Delaware Fall 8 K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4 Outline Review of Previous Lecture Lecture Objectives Efficient Computation of the DFT: FFT Algorithms Direct Computation of the DFT Radix FFT (Decimatation in Time) K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4

Review of Previous Lecture Review of Previous Lecture Convolution Equivalence If x(n) and h(n) have durations L and M, then for N L + M y(n) = x(n) h(n) = x(n) N h(n) F y(n) X(ω)H(ω) y(n) DFT N X(k)H(k) Filtering of long sequences Compute DFT of impulse response once; Break input into data blocks; Use overlap save or overlap add method DFT Based Frequency Analysis If L samples of a continuous signal sampled at F s = /T are taken, the DFT frequency resolution is /LT Windowing DFT frequency analysis is affected by the frequency leakage (window sidelobe) resolution (main lobe) tradeoff K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4 Lecture Objectives Lecture Objectives Objective Analyze the computational cost for direct DFT calculation; Derive the radix decimation in time Fast Fourier Transform (FFT) algorithm; Analyze the FFT computational cost Reading Chapters 8 (8.); Next lecture, the radix 4 and decimation in frequency FFT (Chapter 8.) K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 4 / 4

Efficient Computation of the DFT: FFT Algorithms Direct Computation of the DFT Direct DFT calculation: X R (k) = N n= N X I (k) = n= Direct Computation of the DFT [ x R (n) cos πkn N + x I(n) sin πkn ] N [ x R (n) sin πkn N x I(n) cos πkn ] N Observations: For each k the above requires: N evaluations of trigonometric functions 4N real multiplication 4(N) real additions The total computational load is N times this O(N ) complexity Objective: Develop a more computationally efficient DFT implementation K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 5 / 4 Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) Objective: Exploit regular patterns that occur in the N point DFT Suppose N = r ν, then x(n) can be decimated in time by a factor of r, where r is is referred to as the radix of the FFT algorithm Most common case: r =. Assume N = ν and decimate x(n) by, [even samples] f (n) = x(n) [odd samples] f (n) = x(n + ) n =,,..., N Also note that: WN π = e j N = e j π N/ = W N Approach: Break X(k) expression into even/odd sample summations, then simplify & relate to F (k) and F (k) X(k) = N x(n)wn kn n= = n even x(n)wn kn + x(n)wn kn n odd K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 6 / 4

Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) X(k) = = n even (N/) m= x(n)wn kn + x(n)wn kn n odd (N/) x(m)wn mk + m= x(m + )W k(m+) N (N/) (N/) = f (m)wn/ km N k f (m)wn/ km m= m= = F (k) + WN k F (k), k =,,..., N Note: f (m) and f (m) are length N/ sequences; F (k) and F (k) are their N/-point DFTs, which have period N/, i.e., ( F k + N ) = F (k) ( F k + N ) = F (k) K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 7 / 4 Efficient Computation of the DFT: FFT Algorithms Also, W k+n/ N = W N/ N W N k Radix FFT (Decimatation in Time) πn/ = e j N WN k = W N k. Thus X(k) = F (k) + W k N F (k) X(k + N/) = F (k + N/) + W k+n/ N F (k + N/) = F (k) WN k F (k) Summary X(k) = F (k) + W k N F (k), k =,,..., N X(k + N/) = F (k) W k N F (k), k =,,..., N Observations: F (k) and F (k) are N/-point DFTs (N/) multiplications; N/ multiplications required for W k N F (k) total multiplications = (N/) + N/ = N / + N/ Result: For N large, multiplications have been reduced, from direct computation, by a factor of (N N /) K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 8 / 4

Efficient Computation of the DFT: FFT Algorithms Basic computations: Radix FFT (Decimatation in Time) X(k) = F (k) + W k N F (k), k =,,..., N X(k + N/) = F (k) W k N F (k), k =,,..., N The basic computations are represented in a butterfly graph F(k) X(k) F(k) WN k X(k+N/) Example: Suppose N =, then WN k πk = e j = ( ) k ; note k =,,..., N k = and W N k = ( )k = F() F() X() K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 9 / 4 Efficient Computation of the DFT: FFT Algorithms Example: Suppose N = 4, then W k N F() F() Radix FFT (Decimatation in Time) = e j πk 4 = ( j) k k = Butterfly F() F() X() X() k = Butterfly F() F() F() F() -j -j After Reordering X() X() X() X() F() F() X() F() X() F() -j X() K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4

Efficient Computation of the DFT: FFT Algorithms Example: For N = 8 F() Radix FFT (Decimatation in Time) F() X() F() X() F() X() F() W 8 X(4) F() W 8 X(5) F() W 8 X(6) F() W 8 X(7) Observation: Note input/output sample ordering and weighting pattern, which hold for all N K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4 Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) Approach: Continue decimation to further reduce computations Recall f (n) and f (n) have length N/ = ν ; decimate f (n) and decimate f (n) ν (n) =f (n) n =,,..., N 4 ν (n) =f (n + ) n =,,..., N 4 ν (n) =f (n) n =,,..., N 4 ν (n) =f (n + ) n =,,..., N 4 Observation: We can repeat process used to determine X(k) as a function of F (k) and F (k) Get F (k) in terms of V (k) and V (k) Get F (k) in terms of V (k) and V (k) K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4

Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) A repetition of the process yields F (k) = V (k) + WN/ k V (k) k =,,..., N 4 ( F k + N ) = V (k) W k 4 N/ V (k) k =,,..., N 4 F (k) = V (k) + WN/ k V (k) k =,,..., N 4 ( F k + N ) = V (k) W k 4 N/ V (k) k =,,..., N 4 where V ij (k) is the N/4 point DFT of ν ij (n); i, j {, } Observation: For N = ν, there are N/ butterflies per stage and log N decimation stages (N/) log N total complex multiplications and N log N complex additions Result: The FFT algorithm has complexity O(N log N) K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4 Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) Computation Comparison ν N N N log (N) Imprv. Fac. 4 6 4 4. 4 6 56 8. 6 64 4,96 9. 8 56 65,56,4 64.,4,48,576 5, 4.8 Note: In addition to computational savings, the butterfly structure allows computations to be done in place After (a, b) (A, B), inputs no longer needed; store outputs in input memory space efficient memory management K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 4 / 4

Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) Note: Input data order depends on the number of decimation stages Example: Suppose N = 8 Input Data Data Decimation Data Decimation x() f () = x() ν () = x() x() f () = x() ν () = x(4) x() f () = x(4) ν () = x() x() f () = x(6) ν () = x(6) x(4) f () = x() ν () = x() x(5) f () = x() ν () = x(5) x(6) f () = x(5) ν () = x() x(7) f () = x(7) ν () = x(7) Result: The data ordering of the last decimation is the order data is fed into the decimation in time FFT algorithm K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 5 / 4 Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) Block representation of 8 point decimation in time FFT Observations: The decimation in time algorithm yields natural order output (DFT) terms, but utilizes shuffled, decimation order, input (time domain) samples K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 6 / 4

Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) Note: Reordering is simply bit reversal of the memory address K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 7 / 4 Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) 8 point decimation in time FFT butterfly signal flow diagram Note: Stage ( samples): W 8 = W Stage (4 samples): W8 = ; W 8 = K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 8 / 4

Example Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) x() Compute DFT ofx() x = {,,, } using radix decimation in time X() x() x() X() x() x() X() X() x() X() x() X() 7 -j 4 4 K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 9 / 4 Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) Example x() -j -j +j Compute DFT ofx() x = {,,, } using radix decimation in time X() x() x() X() x() x() X() X() x() X() x() X() 4 7 -j 4 4 K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4

Example Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) x() Compute DFT ofx() x = {,,, } using radix decimation in time X() x() x() X() x() x() X() X() x() X() x() X() 4 7 -j -j 4 4 K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4 Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) Example x() -j -j +j Compute DFT ofx() x = {,,, } using radix decimation in time X() x() x() X() x() x() X() X() x() X() x() X() 4 4 7 -j -j -j 4 4 -j K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4

Example Efficient Computation of the DFT: FFT Algorithms Radix FFT (Decimatation in Time) x() Compute DFT ofx() x = {,,, } using radix decimation in time X() x() x() X() x() x() X() X() x() X() x() X() 7 -j 4 4 7 -j -j -j +j 4 4 K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 / 4 Lecture Summary -j -j +j Lecture Summary Direct DFT calculation complexity O(N ) FFT calculation complexity O(N log N) Radix Decimation in Time (FFT) algorithm Decompose signal log N times; Basic computation is the butterfly Sample Ordering Affects Radix decimation in time algorithm uses bit reversed order inputs (shuffled samples) and produces natural order outputs Next lecture The radix 4 and decimation in frequency FFT (Chapter 8.) K. E. Barner (Univ. of Delaware) ELEG 5: Digital Signal Processing Fall 8 4 / 4