AllenDowney / ThinkDSP

Think DSP: Digital Signal Processing in Python, by Allen B. Downey.
https://allendowney.github.io/ThinkDSP/
3.93k stars 3.2k forks source link

Convolution theorem in Section 8.4 not correct #11

Closed spors closed 8 years ago

spors commented 8 years ago

The convolution theorem in Section 8.4 is not correct. Multiplication of the DFTs of two signals results in the periodic/circular convolution of the two signals. This is why zero-padding is required when one aims at the linear convolution in order to compute the output of a linear-time invariant system. You fill find this in amost any good textbook on DSP or since you also like Jupyter notebooks http://nbviewer.jupyter.org/github/spatialaudio/digital-signal-processing-lecture/blob/master/nonrecursive_filters/fast_convolution.ipynb.

AllenDowney commented 8 years ago

At this point in the book I have not yet distinguished linear and circular convolution because the examples haven't required it. It comes up later, although I don't use the terms. I will consider adding them. Thanks!