fft question
Date | 1998-02-18 11:22 |
From | james@maths.ex.ac.uk |
Subject | fft question |
>Regarding the use of FFT versus direct convolution, I have a question >for the experts. > > It seems to me that the use of an FFT requires that the input signals >be periodic over the sample length. Otherwise, the discontinuity will >pollute the FFT spectrum with unwanted frequencies. Of course, one >could apply a window-function to make the input periodic, but then >the spectrum associated with the window function itself will be >included in the convolution. > > It also seems to me that a direct convolution does not add unwanted >harmonics when the input signals are not periodic ... although I am >not 100 percent sure about this, especially if the input signals >do not happen to conveniently asymptote to zero at the boundaries of >the sample period. > > The question is, how does one really treat the non-periodicity >problem in actual practice. Is it simply neglected? > > > Thanks, > > Fabio P. Bertolotti > > |
Date | 1998-02-18 15:52 |
From | Eli Brandt |
Subject | Re: fft question |
Fabio P. Bertolotti writes: > It seems to me that the use of an FFT requires that the input signals >be periodic over the sample length. Otherwise, the discontinuity will >pollute the FFT spectrum with unwanted frequencies. For a single pair of blocks, the FFT will "assume periodicity", performing a periodic convolution. To get the aperiodic convolution you probably want, zero-pad enough so that the result doesn't interfere with itself: 00xx00 * 00yy00 = 0zzzz0 (overkill for clarity). I won't try to explain the techniques for extending this to long signals, but look up "overlap-add" in a DSP text. The result really is the same as direct convolution. (You do get block-rate crud if you try to alter the response over time -- side question: is there a way to do this cleanly that's faster/better than heavy overlapping?) -- Eli Brandt | eli+@cs.cmu.edu | http://www.cs.cmu.edu/~eli/ |