I am undergoing a course on DSP and we were recently introduced to the amazing concept of DFT.

But I have some apprehensions against it. DFT is supposed to be the methodology of fourier transform, as implemented in hardware or software. Now, if I want to convolve two signals' DFT, I could simply linearly convolve them. There would be no wraparound error, because all that I have to do to implement linear convolution is tell my computer that the array now flips and then multiplies and slides - i.e., linearly convolves.

Circular convolution was developed to avoid wraparound error; however, the computer does not know that DTFT is a periodic function, and, thus, shifting the DFT array will render me with a circular shift.

I know my opinion is rather radical, but I am sure that this is because I have a very abstract level acquaintance to this concept. Can someone enlighten me more, herein?

  • $\begingroup$ Your opinion is quite radical because circular convolution is a property of DFT (and DTFT), and not a design requirement. $\endgroup$ – Juancho Feb 19 '18 at 18:20

I think your confusion comes from the fact that when we talk about "circular convolution" we are not doing a convolution operation in the frequency domain. Rather we are multiplying the two DFT arrays together, element by element.

When we switch back to the time domain via an inverse DFT, we have effectively done a circular convolution in the time domain.

  • 1
    $\begingroup$ i'll try to add to Jim's answer: Circular convolution is not the end goal we want. Linear convolution (sometimes with a very long impulse response $h[n]$) is the goal. but circular convolution is the only convolution tool that we have when using the FFT (the fast way of doing the DFT) as a means of convolution. so the whole idea of fast convolution (this is that "overlap-add" or "overlap-save" thingie) is how to do linear convolution when your only fast tool is circular convolution. $\endgroup$ – robert bristow-johnson Feb 19 '18 at 21:23
  • $\begingroup$ Also note that with sufficient zero-padding, circular convolution and linear convolution produce the same results. But FFT fast (circular) convolution can be faster, even when using the longer zero-padded FFT input vectors than required for direct convolution. $\endgroup$ – hotpaw2 Feb 19 '18 at 21:53

Your Answer

