Lecture 16 Outline: Linear Convolution, Block-by Block Convolution, FFT/IFFT Announcements: HW 4 posted, due tomorrow at 4:30pm. No late HWs as solutions.

Slides:



Advertisements
Similar presentations
DFT & FFT Computation.
Advertisements

Michael Phipps Vallary S. Bhopatkar
DFT properties Note: it is important to ensure that the DFTs are the same length If x1(n) and x2(n) have different lengths, the shorter sequence must be.
Block Convolution: overlap-save method  Input Signal x[n]: arbitrary length  Impulse response of the filter h[n]: lenght P  Block Size: N  we take.
Chapter 8: The Discrete Fourier Transform
MM3FC Mathematical Modeling 3 LECTURE 3
FFT-based filtering and the Short-Time Fourier Transform (STFT) R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
20 October 2003WASPAA New Paltz, NY1 Implementation of real time partitioned convolution on a DSP board Enrico Armelloni, Christian Giottoli, Angelo.
Digital Signal Processing – Chapter 10
CS 179: GPU Programming Lecture 9 / Homework 3. Recap Some algorithms are “less obviously parallelizable”: – Reduction – Sorts – FFT (and certain recursive.
Finite-Length Discrete Transform
1 © 2010 Cengage Learning Engineering. All Rights Reserved. 1 Introduction to Digital Image Processing with MATLAB ® Asia Edition McAndrew ‧ Wang ‧ Tseng.
Zhongguo Liu_Biomedical Engineering_Shandong Univ. Chapter 8 The Discrete Fourier Transform Zhongguo Liu Biomedical Engineering School of Control.
Hossein Sameti Department of Computer Engineering Sharif University of Technology.
Real time DSP Professors: Eng. Julian S. Bruno Eng. Jerónimo F. Atencio Sr. Lucio Martinez Garbino.
Digital Signal Processing Chapter 3 Discrete transforms.
Z TRANSFORM AND DFT Z Transform
Lecture 6: DFT XILIANG LUO 2014/10. Periodic Sequence  Discrete Fourier Series For a sequence with period N, we only need N DFS coefs.
Chapter 5 Finite-Length Discrete Transform
Digital Signal Processing
Linear filtering based on the DFT
1 Circular or periodic convolution (what we usually DON’T want! But be careful, in case we do want it!) Remembering that convolution in the TD is multiplication.
Lecture 2 Outline “Fun” with Fourier Announcements: Poll for discussion section and OHs: please respond First HW posted 5pm tonight Duality Relationships.
CS 179: GPU Programming Lecture 9 / Homework 3. Recap Some algorithms are “less obviously parallelizable”: – Reduction – Sorts – FFT (and certain recursive.
Lecture 17 Outline: DFT Properties and Circular Convolution
EE345S Real-Time Digital Signal Processing Lab Fall 2006 Lecture 17 Fast Fourier Transform Prof. Brian L. Evans Dept. of Electrical and Computer Engineering.
Lecture 20 Outline: Laplace Transforms Announcements: Reading: “6: The Laplace Transform” pp. 1-9 HW 7 posted, due next Wednesday My OHs Monday cancelled,
بسم الله الرحمن الرحيم Digital Signal Processing Lecture 14 FFT-Radix-2 Decimation in Frequency And Radix -4 Algorithm University of Khartoum Department.
DSP First, 2/e Lecture 11 FIR Filtering Intro. May 2016 © , JH McClellan & RW Schafer 2 License Info for DSPFirst Slides  This work released.
1 Chapter 8 The Discrete Fourier Transform (cont.)
Lecture 26 Outline: Z Transforms Announcements: Reading: “8: z-transforms” pp (no inverse or unilateral z transforms) HW 9 posted, due 6/3 midnight.
Lecture 16 Outline: Discrete Fourier Series and Transforms Announcements: Reading: “5: The Discrete Fourier Transform” pp HW 5 posted, short HW (2.
Lecture 27 Outline: Systems Analysis w/ Z Transforms, Course Review
Lecture 19 Spectrogram: Spectral Analysis via DFT & DTFT
Matt Gormley Lecture 11 October 5, 2016
Lecture 14 Outline: Windowing in FIR Filter Design
Homework 3 1. Suppose we have two four-point sequences x[n] and h[n] as follows: (a) Calculate the four-point DFT X[k]. (b) Calculate the four-point DFT.
DIGITAL SIGNAL PROCESSING ELECTRONICS
Digital Signal Processing
Lecture 11 FIR Filtering Intro
Lab 4 Application of RTOS
Lecture 12 Linearity & Time-Invariance Convolution
FFT-based filtering and the
EE359 – Lecture 12 Outline Maximal Ratio Combining
EE359 – Lecture 11 Outline Announcements
Fast Fourier Transforms Dr. Vinu Thomas
Fast Fourier Transform
Lecture 13 Outline: Windowing in FIR Filter Design
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM
Lecture 14 Outline: Discrete Fourier Series and Transforms
4.1 DFT In practice the Fourier components of data are obtained by digital computation rather than by analog processing. The analog values have to be.
Signal and Systems Chapter 2: LTI Systems
Chapter 8 The Discrete Fourier Transform
APPLICATION of the DFT: Convolution of Finite Sequences.
Z TRANSFORM AND DFT Z Transform
Lecture 17 DFT: Discrete Fourier Transform
Chapter 9 Computation of the Discrete Fourier Transform
EE359 – Lecture 18 Outline Announcements Review of Last Lecture
Lecture 15 Outline: DFT Properties and Circular Convolution
EE359 – Lecture 11 Outline Introduction to Diversity
Lecture 25 Outline: Z Transforms, Discrete-time Systems Analysis
Chapter 8 The Discrete Fourier Transform
Lecture #8 (Second half) FREQUENCY RESPONSE OF LSI SYSTEMS
Chapter 8 The Discrete Fourier Transform
Real time signal processing
Signals and Systems Lecture 18: FIR Filters.
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM
Lecture 4: Linear Systems and Convolution
Fast Fourier Transform
CE Digital Signal Processing Fall Discrete Fourier Transform (DFT)
Presentation transcript:

Lecture 16 Outline: Linear Convolution, Block-by Block Convolution, FFT/IFFT Announcements: HW 4 posted, due tomorrow at 4:30pm. No late HWs as solutions will be available immediately. Midterm details on next page HW 5 will be posted Fri, due following Fri May 18 Guest lecture Wed on AR/VR (Gordon Weitzstein) Linear Convolution from Circular Block-by-block convolution: Overlap/Add FFT/IFFT and its Complexity

Midterm Details Time/Location: Friday, May 11, 1:30-2:50pm in this room. Please confirm special arrangements by tomorrow if you have made them. Open book and notes – you can bring any written material you wish to the exam. Calculators and electronic devices not allowed. Will cover all class material from Lectures 1-13. Practice MT posted, worth 25 extra credit points for “taking” it. Can be turned in any time up until you take the exam (send scanned version to TAs, or give them a hard copy in OHs/section) Solutions given when you turn in your answers In addition to practice MT, we will also provide additional practice problems/solns MT Review in class today Discussion Section May 8, 4:30-6 (MT review and practice problems) Regular OHs for me/TAs this week (no new HW this week)

Review of Last Lecture: Key DFT Properties Circular Time Shift  DFT mutiplication with exponential Circular Frequency Shift  multiplication in time by exponential Circular convolution in time is multiplication in frequency Multiplication in time is circular convolution in frequency

Computing Circular Convolution; Circular vs. Linear Convolution Linearly convolve and Place sequences on circle in opposite directions, sum up all pairs, rotate outer sequence clockwise each time increment Matlab Command: Circular versus Linear Convolution y = ifft(fft(x1,N).*fft(x2,N)) x1[n] * x2[n]

Linear Convolution using Circular Convolution , the same as the linear convolution . Want to linearly convolve two sequences e.g. to obtain the output of a filter to an input sequence x[n] has length L, h[n] has length P, y[n] has length L+P-1 Obtain linear convolution as follows: Zero pad x[n] by appending P-1 zeros to get xzp[n]; 0nL+P-2 Zero pad h[n] by appending L-1 zeros to get hzp[n]; 0nL+P-2 Both sequences are of length M=L+P-1, same as y[n] Take circular convolution of zero padded sequences This yields the linear convolution: Zeros padding removes circular effect

Example: Linear from Circular Linear Convolution Linear from Circular with Zero Padding L=4 x1[n] * x2[n] P=6 M=L+P-1=9 1 1 1 1 n=0 n=1

Block Convolution using Overlap Methods Want block-by-block linear convolution for long sequences Uses fixed hardware. Has fixed delay/complexity Goal: compute linear convolution of x[n] and y[n] x[n] very long, h[n] has length P Want to break x[n] into shorter blocks and compute portions of y[n] block-by-block. Overlap-Add Method Breaks x[n] into non-overlapping segments of length L: Convolve each segment with h[n] and sum: These convolutions computed using DFT (zero padding):

Overlap-Save (Not responsible for this topic) Breaks x[n] into segments of length L>P, each segment overlapping with previous one at P-1 points Perform L-point circular convolution of each segment with zero-padded filter h[n] (using DFT): Identify portion of each circular convolution that corresponds to a linear convolution, and save it. First P – 1 points are unusable, while the remaining L – P + 1 points correspond to a linear convolution. Thus, we save L – P + 1 points from each circular convolution. Because first P – 1 points are unusable, the input segments must overlap at P – 1 points.

Blocklength Choice (ppt slides only) In overlap methods, several factors affect the choice of the block length L a shorter block length minimizes latency. a shorter block length minimizes memory required for performing the DFTs, multiplication, and inverse DFT. Given P (length of h[n]), there is an optimal block length L that minimizes complexity. L too short, complexity increased by overhead of adjacent block overlap L too long, complexity increased because DFT complexity increases with the block length In practice, set block length so that DFT blocklength is an integer power of 2 (required for FFTs)

FFT and IFFT Algorithms (ppt slides only) FFT computes the DFT of a sequence, IFFT computes the inverse DFT: DFT as matrix operation: N2 complex multiplies Complexity of FFT and IFFT same: FFT/IFFT breaks down a DFT with N2 complex multiplies into many smaller DFTs with N multiplies Not responsible for details of how this is done (pp. 107-113 of reader, end of chapter 4) Reduces complexity of computing N-point DFT or IDFT from N2 complex multiplies to .5Nlog2N - In 1994 Strang described the FFT as "the most important numerical algorithm of our lifetime” - Included in Top 10 Algorithms of 20th Century by IEEE Journal of Computing in Science and Engineering

Main Points Can compute linear convolution using circular convolution by zero padding For linear convolution of long sequences, computation is done in L-length blocks using overlap-add or overlap-save Methods are very similar, differ in where overlap is introduced Choice of L optimizes tradeoff in latency, memory, and complexity The FFT and IFFT drastically reduce the complexity of the DFT/IDFT computation These algorithms are responsible for the widespread use of digital signal processing in today’s electronic devices