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/ |