EE123 Digital Signal Processing

Similar documents
Fall 2011, EE123 Digital Signal Processing

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

Lecture 20: Discrete Fourier Transform and FFT

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

EE123 Digital Signal Processing

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

EE123 Digital Signal Processing

EE123 Digital Signal Processing

Digital Signal Processing. Midterm 2 Solutions

ELEG 305: Digital Signal Processing

EE123 Digital Signal Processing

EE482: Digital Signal Processing Applications

Transforms and Orthogonal Bases

EE123 Digital Signal Processing

ELEG 305: Digital Signal Processing

Discrete Fourier Transform

MAHALAKSHMI ENGINEERING COLLEGE-TRICHY

Frequency-domain representation of discrete-time signals

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

ESE 531: Digital Signal Processing

8 The Discrete Fourier Transform (DFT)

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

EE123 Digital Signal Processing. M. Lustig, EECS UC Berkeley

1. Calculation of the DFT

Linear Convolution Using FFT

ECSE 512 Digital Signal Processing I Fall 2010 FINAL EXAMINATION

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

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

The Fourier Transform (and more )

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

Lecture 19: Discrete Fourier Series

EE123 Digital Signal Processing

1 1.27z z 2. 1 z H 2

INTRODUCTION TO THE DFS AND THE DFT

Digital Signal Processing

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

Module 3. Convolution. Aim

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

Discrete Time Fourier Transform (DTFT)

Fundamentals of the DFT (fft) Algorithms

Digital Signal Processing

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

LTI H. the system H when xn [ ] is the input.

Digital Signal Processing. Midterm 1 Solution

4.3 The Discrete Fourier Transform (DFT) and the Fast Fourier Transform (FFT)

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

E The Fast Fourier Transform

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

Discrete Fourier transform (DFT)

Chapter 6: Applications of Fourier Representation Houshou Chen

Chapter 4 Discrete Fourier Transform (DFT) And Signal Spectrum

Lecture 7. Fourier Analysis

EEO 401 Digital Signal Processing Prof. Mark Fowler

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

( ) John A. Quinn Lecture. ESE 531: Digital Signal Processing. Lecture Outline. Frequency Response of LTI System. Example: Zero on Real Axis

PSET 0 Due Today by 11:59pm Any issues with submissions, post on Piazza. Fall 2018: T-R: Lopata 101. Median Filter / Order Statistics

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

DISCRETE FOURIER TRANSFORM

Chapter 8 The Discrete Fourier Transform

Review: Continuous Fourier Transform

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

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

Digital Signal Processing Lecture 3 - Discrete-Time Systems

E : Lecture 1 Introduction

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

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

The Discrete Fourier Transform

Lecture 7 January 26, 2016

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

EE-210. Signals and Systems Homework 7 Solutions

The Z-Transform. Fall 2012, EE123 Digital Signal Processing. Eigen Functions of LTI System. Eigen Functions of LTI System

Computational Methods CMSC/AMSC/MAPL 460

Definition. A signal is a sequence of numbers. sequence is also referred to as being in l 1 (Z), or just in l 1. A sequence {x(n)} satisfying

Part 3.3 Differentiation Taylor Polynomials

Course Name: Digital Signal Processing Course Code: EE 605A Credit: 3

Chapter 2: The Fourier Transform

Computational Methods for Astrophysics: Fourier Transforms

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

Review of Discrete-Time System

CS 179: GPU Programming. Lecture 9 / Homework 3

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

Basic Multi-rate Operations: Decimation and Interpolation

Chap 2. Discrete-Time Signals and Systems

Sparse Fourier Transform (lecture 1)

2.161 Signal Processing: Continuous and Discrete Fall 2008

The Discrete Fourier transform

6.02 Fall 2012 Lecture #10

DSP Laboratory (EELE 4110) Lab#5 DTFS & DTFT

Interchange of Filtering and Downsampling/Upsampling

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

Fourier Series and Fourier Transforms

Chirp Transform for FFT

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

Digital Signal Processing Lecture 10 - Discrete Fourier Transform

CS 179: GPU Programming. Lecture 9 / Homework 3

LAB 2: DTFT, DFT, and DFT Spectral Analysis Summer 2011

Periodic motions. Periodic motions are known since the beginning of mankind: Motion of planets around the Sun; Pendulum; And many more...

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

Scientific Computing: An Introductory Survey

DSP-I DSP-I DSP-I DSP-I

Transcription:

Announcements EE Digital Signal Processing otes posted HW due Friday SDR give away Today! Read Ch 9 $$$ give me your names Lecture based on slides by JM Kahn M Lustig, EECS UC Berkeley M Lustig, EECS UC Berkeley Last Time Discrete Fourier Transform Properties of the Linear convolution with Overlap and add Overlap and save Today Fast Fourier Transform vs DTFT (revisit) Back to moving average example: (e j! ) e j!n n e j! sin(!) sin(! ) w M Lustig, EECS UC Berkeley M Lustig, EECS UC Berkeley

and Sampling the DTFT Circular Convolution as Matrix Operation (e j! )e j! sin (!/) sin (!/) x[n] n reconstructed x[n] (e jω ) ω (e jω ) Circular convolution: h[n] x[n] H c x h[] h[ ] h[] h[] h[] h[] h[ ] h[ ] h[] x[] x[] x[] H c is a circulant matrix The columns of the matrix are Eigen vectors of circulant matrices Eigen vectors are coe cients How can you show? n ω Fall, EE Digital Signal Processing Circular Convolution as Matrix Operation Diagonalize: W H c Wn Right-multiply by W W H c Multiply both sides by x W H c x H[] H[] H[ ] H[] H[] H[ ] H[] H[] H[ ] W W x 8

Fast Fourier Transform Algorithms We are interested in e and inverse : where [k] x[n] n k cient computing methods for the x[n]w kn, k,, kn [k]w, n,, W e j( ) Recall that we can use the to compute the inverse : Hence, we can just focus on e { [k]} ( { [k]}) cient computation of the Straightforward computation of an -point (or inverse ) requires complex multiplications 9 Fast Fourier transform algorithms enable computation of an -point (or inverse ) with the order of just log complex multiplications This can represent a huge reduction in computational load, especially for large log log 8,8 89 8,,8,, 8,9,8,8,9 * Mp image size Most FFT algorithms exploit the following properties of W kn : Conjugate Symmetry Periodicity in n and k: Power: k( n) W W kn (W kn ) W kn W k(n+) W W / W (k+)n

Most FFT algorithms decompose the computation of a into successively smaller computations Decimation-in-time algorithms decompose x[n] into successively smaller subsequences Decimation-in-frequency algorithms decompose [k] into successively smaller subsequences We mostly discuss decimation-in-time algorithms here Assume length of x[n] is power of ( ) If smaller zero-pad to closest power We start with the [k] n x[n]w kn, k,, Separate the sum into even and odd terms: [k] x[n]w kn + x[n]w kn n even n odd These are two s, each with half of the samples Let n r (n even) and n r +(n odd): Hence: [k] (/) r (/) r x[r]w rk x[r]w rk (/) + r + W k x[r + ]W (r+)k (/) r x[r + ]W rk [k] (/) r (/) x[r]w/ rk + W k r G[k]+W k H[k], k,, where we have defined: x[r + ]W rk / ote that: W rk e j( )(rk) e j rk / W rk / Remember this trick, it will turn up often G[k] H[k] (/) r (/) r x[r]w rk / ) of even idx x[r + ]W rk / ) of odd idx

An 8 sample can then be diagrammed as Even Samples Odd Samples x[] x[] x[] x[] x[] x[] x[] / - Point / - Point G[] G[] G[] G[] H[] H[] H[] H[] W W W W W W W W [] [] [] [] [] [] [] [] Both G[k] and H[k] are periodic, with period / For example so G[k + /] (/) r (/) r (/) r G[k] x[r]w r(k+/) / x[r]w rk / W r(/) / x[r]w rk / G[k +(/)] G[k] H[k +(/)] H[k] 8 The periodicity of G[k] andh[k] allowsustofurthersimplify For the first / points we calculate G[k] andw k H[k], and then compute the sum [k] G[k]+W k H[k] 8{k :applek < } How does periodicity help for apple k <? for [k] G[k]+W k H[k] 8{k :apple k < } apple k < : W k+(/)? [k +(/)]? 9

[k +(/)] G[k] We previously calculated G[k] andw k H[k] W k H[k] ow we only have to compute their di erence to obtain the second half of the spectrum o additional multiplies are required The -point has been reduced two /-point s, plus / complex multiplications The 8 sample is then: Even Samples Odd Samples x[] x[] x[] x[] x[] x[] x[] / - Point / - Point W W W W G[k] H[k] W k [] [] [] [] [] [] [] [] ote that the inputs have been reordered so that the outputs come out in their proper sequence We can define a butterfly operation, eg, the computation of [] and [] from G[] and H[]: G[] H[] W This is an important operation in DSP [] G[] + W H[] [] G[] - W H[] Still O( ) operations What shall we do? Even Samples Odd Samples x[] x[] x[] x[] x[] x[] x[] / - Point / - Point W W W W G[k] k H[k] W [] [] [] [] [] [] [] []

We can use the same approach for each of the / point s For the 8case,the/ s look like At this point for the 8 sample, we can replace the / sample s with a single butterfly The coe cient is x[] x[] x[] / - Point / - Point W / W / *ote that the inputs have been reordered again G[] G[] G[] G[] W / W 8/ W e j The diagram of this stage is then x[] x[] + x[] - Combining all these stages, the diagram for the 8 sample is: x[] [] In general, there are log stages of decimation-in-time W / x[] W / x[] x[] W W x[] W / W x[] W / W x[] This the decimation-in-time FFT algorithm [] [] [] [] [] [] [] Each stage requires / complex multiplications, some of which are trivial The total number of complex multiplications is (/) log The order of the input to the decimation-in-time FFT algorithm must be permuted First stage: split into odd and even Zero low-order bit first ext stage repeats with next zero-lower bit first et e ect is reversing the bit order of indexes 8

Decimation-in-Frequency Fast Fourier Transform This is illustrated in the following table for 8 Decimal Binary Bit-Reversed Binary Bit-Reversed Decimal The is [k] n x[n]w nk If we only look at the even samples of [k], we can write k r, [r] n x[n]w n(r) We split this into two sums, one over the first / samples, and the second of the last / samples [r] (/) n x[n]w rn (/) + n x[n + /]W r(n+/) 9 Decimation-in-Frequency Fast Fourier Transform Decimation-in-Frequency Fast Fourier Transform But W r(n+/) W rnw W rn We can then write W rn / [r] (/) n (/) n (/) n x[n]w rn x[n]w rn (/) + n (/) + n (x[n]+x[n + /]) W rn / x[n + /]W r(n+/) x[n + /]W rn This is the /-length of first and second half of x[n] summed [r] {(x[n]+x[n + /])} [r + ] {(x[n] x[n + /]) W n } (By a similar argument that gives the odd samples) Continue the same approach is applied for the / s, and the / s until we reach simple butterflies

Decimation-in-Frequency Fast Fourier Transform The diagram for and 8-point decimation-in-frequency is as follows x[] x[] x[] x[] x[] x[] x[] W W W W W / W / W / W / This is just the decimation-in-time algorithm reversed! The inputs are in normal order, and the outputs are bit reversed [] [] [] [] [] [] [] [] on-power-of- FFT s A similar argument applies for any length, where the length is a composite number For example, if, a decimation-in-time FFT could compute three -point s followed by two -point s x[] x[] x[] x[] x[] -Point -Point -Point W W W -Point -Point [] [] [] [] [] [] on-power-of- FFT s Good component s are available for lengths up to or so Many of these exploit the structure for that specific length For example, a factor of W / e j (/) e j j Why? just swaps the real and imaginary components of a complex number, and doesn t actually require any multiplies Hence a of length doesn t require any complex multiplies Half of the multiplies of an 8-point also don t require multiplication Composite length FFT s can be very e cient for any length that factors into terms of this order For example 9 factors into ()(9)() each of which can be implemented e 9 s of length s of length 9, and 9 s of length ciently We would perform

Historically, the power-of-two FFTs were much faster (better written and implemented) For non-power-of-two length, it was faster to zero pad to power of two Recently this has changed The free FFTW package implements very e cient algorithms for almost any filter length Matlab has used FFTW since version 8 FFT as Matrix Operation FFT as Matrix Operation B @ [] [k] [ ] C A B @ W n ( ) W k kn k( ) ( ) W ( )n ( )( ) B C @ A x[] x[n] x[ ] C A B @ [] [k] [ ] C A B @ W n ( ) W k kn k( ) ( ) W ( )n ( )( ) B C @ A x[] x[n] x[ ] C A W is fully populated ) entries W is fully populated ) entries FFT is a decomposition of W into a more sparse form: apple I/ D F / I / D / apple W/ W / apple Even-Odd Perm Matrix I / is an identity matrix D / is a diagonal with entries, W,, W / 9

FFT as Matrix Operation Beyond log What if the signal x[n] has a k sparse frequency Example: F W W A Gilbert et al, ear-optimal sparse Fourier representations via sampling H Hassanieh et al, early Optimal Sparse Fourier Transform Others O(K Log ) instead of O( Log ) From: http://groupscsailmitedu/netmit/sfft/paperhtml M Lustig, EECS UC Berkeley