[linux-audio-dev] jamin and FFT filtering

Steve Harris S.W.Harris at ecs.soton.ac.uk
Wed Aug 11 13:06:28 UTC 2004


On Wed, Aug 11, 2004 at 01:56:52 +0200, Alfons Adriaensen wrote:
> Ok, in that case there should be no pre-echo at all, as you 
> verified. But what then is that blob around the main impulse,
> and the echo at 4.5 ms ? (not that it matters much, I don't
> think any of them can be detected by ear).
> 
> The point of my example was to show that even a nearly flat,
> 'inaudable' frequency response can give audible artefacts in
> the time domain when the filter is forced to be linear phase.

Oh, I see, yes, so dont :) I supect that the small ammount of noise
arround the impulse is a result of rounding errors in the FFT, but I dont
really have time to test it, and FFTs with greater recision are just too
expensive in CPU.
 
> > > If the ripple is at "fs/2", it would be removed anyway by any windowing
> > > that is apllied before overlapping parts are added together.
> > > Could you try a cosine ripple at "fs/4" or "fs/8" ?
> > 
> > Applied where? 
> 
> Step 2. above. With "fs/n" a mean of course a ripple with a period
> of n bins. But don't waste your time with this, unless you are
> curious :-)

I am curious, but more busy than curious sadly.

> > > BTW, when do you apply windowing : before step 1, after step 3,
> > > or both ? What is the FFT size ?
> > 
> > Before 1, the FFT is 2048 bins, 8x overlap.
> 
> With 8x overlap probably even the effect of "fs/4" and "fs/8" would
> be attenuated if there is windowing after step 3. IMHO, this windowing
> is necessary: there is no reason why, in the general case, the result
> of the IFFT would start of and go back to zero amplitude. I'd use
> a square root raised cosine before the FFT and after the IFFT.

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.
 
> The 8x overlap seems extreme. IF your bandpass responses are not
> 'brick wall', and the EQ curves are also smooth, 8x overlap should
> not be necessary.

The EQ curves are often not smoth, expecailly in the low frequency range,
as users make aparently smooth adjustments in the low octaves that only
span a couple of bins. It brings the lantecy down a bit too, which isn't a
huge issue, but doesn't hurt.

The crossover band joins are curretly quite sharp (2 bins I think), maybe
I should try smoothing them out more, but I didn't hear any sonic artifacs
when sliding them up and down with the compressors bypassed.

- Steve



More information about the Linux-audio-dev mailing list