[linux-audio-dev] jamin and FFT filtering

Alfons Adriaensen fons.adriaensen at alcatel.be
Wed Aug 11 13:53:09 UTC 2004


On Wed, Aug 11, 2004 at 02:06:28PM +0100, Steve Harris wrote:
 
> I am curious, but more busy than curious sadly.

Same problem here :-)
 
> OK, thanks I'l try that. I would have thought that the IFFT would go
> to zero at both ends though, as it was windowed at input.

In general it will not. Consider a simple case: your signal is a cosine
wave with n periods in the FFT length and amplitude 1. When you apply
the raised cosine window, what happens is that two new cosines with 
resp. n-1 and n+1 periods per FFT length and amplitude -0.5 are added,
giving of course zero at both ends.

The same happens with a more complex signal: the amplitudes of all cosine
components are modified so as to make them cancel at the ends. When you
disturb that delicate balance, they will no longer cancel out. 

Now for each group of three adjacent bins, a linear g(f) slope will not
modify the sum of the ampitudes, e.g. it could transform the -0.5, 1,
-0.5 of above into -0.6 1 -0.4, but the sum is still zero. So the
inbalance and the expected signal amplitude at the ends after the IFFT
will be proportional to the second derivative of the frequency response.

When you simulate a resonance with only a few bins (as is likely to
happen at the LF end), this second dervative can take on quite high
values.

-- 
FA



 







More information about the Linux-audio-dev mailing list