##### Personal tools
•
You are here: Home Lecture 9: Convolution Using the DFT

# Lecture 9: Convolution Using the DFT

##### Document Actions
Schedule :: The DFT :: Aliasing & Leakage :: Examples :: The FFT :: Convolution

We have seen the convolution theorem over and over: convolution in time is the transform of multiplication in the frequency domain. By numerically computing the transform using the DFT, we can compute convolutions of sequences. There are some issues to be very careful of, however, since the DFT imposes certain requirements on the signals. We will worry later about this. For the moment, consider the computational complexity. Suppose I have a sequence of points and another sequence also of points. We know that the convolution will have points. Computation of each of the outputs requires approximately computations. The overall complexity for computing convolution is therefore .

But here is the neat thing: We compute the DFT of and the DFT of , multiply the points in the frequency domain, then transform back:

This sure seems like the long way around the barn! But, consider the number of computations if we do the DFTs using FFTs: Each transform requires operations, the multiplication is , and the inverse transform is . The overall computation is . (That's how orders are computed!). So it requires fewer computations (by far!) than straightforward convolution, at least of is large enough. This is, in fact, the way M ATLAB computes its convolutions. This is also the way that symbolic packages (such as Mathematica) compute their multiplications of large integers.

Now the issues regarding use of the DFT for convolution. Recall that the DFT always assumes that the signal is periodic . This is the key to understanding the convolution. The convolution is done on periodic signals, where the period is the number of points in the DFT, and the result of the convolution is periodic also. Suppose that we are dealing with -point DFTs. We can define a convolution which is periodic with period by

The notation is used to indicate that the difference is taken modulo . Suppose , and is a sequence 6 points long and is a sequence 10 points long. Draw sequences, and their 10-periodic extensions. Show graphically what the periodic convolution is. The periodic convolution is the convolution computed when DFTs are used.

Suppose we don't want the effects of the circular convolution; we just want regular linear convolution. What we need to do is zero pad. If is a sequence of length and is a sequence of length , then their convolution will have points. If we take a DFT with at least that many points, there will be no wrap around. Show pictures.

Copyright 2008, by the Contributing Authors. Cite/attribute Resource . admin. (2006, June 07). Lecture 9: Convolution Using the DFT. Retrieved January 07, 2011, from Free Online Course Materials — USU OpenCourseWare Web site: http://ocw.usu.edu/Electrical_and_Computer_Engineering/Signals_and_Systems/9_5node5.html. This work is licensed under a Creative Commons License