Chuckk Hubbard wrote:
On 6/21/06, Piotr Majdak piotr@majdak.com wrote:
For some reason I hadn't checked this before, and my system is indeed adequate. I wasn't sure if Pure Data's FFT has built-in windowing or not, apparently it doesn't.
Yes, it has! It windows the signal with a rectangular window by taking only the blocksize amount of samples from an infinite long signal. This corresponds to convolution of the spectrum(!) with sinc-function (sin(x)/x) for every frequency bin. That's the leakage effect...
Cool, thanks, you might hear from me soon. I wonder what's the simplest way to do convolution natively in Pd?
Georg described already the "fast convolution" method (Grüsse an Georg). Even simplier convolution is using [FIR~] from the iem lib. Just load an impulse response to a table and convolve it with a signal. [FIR~] implements _the_ direct discrete convolution.
BTW: I think that it's hard to debug and to understand these problems using a high-optimized real time software like pd. I propose you to use Matlab/Octave/SciLab or another numeric software package with many plot possibilities and signal control/editing sample by sample in an non-real time environment. Then, use the new knowledge to implement your ideas in pd :-)
br, Piotr