[speex-dev] project 'Sphinx' kicked off

Jean-Marc Valin
Fri, 06 Aug 2004 15:01:46 -0000

> I had the idea of implementing a lot of the operations in FFTs. ( for
> example, it is possible to do auto-correlation and FIR filtering using
> FFTs.)  There are two advantages to this.
> 1. It's almost always faster
> 2. By swapping fft implementations, it could be easy to recompile for
> fixed or floating point versions.

No. FFT's require higher precision than filters. Also the filters are
only applied in 40-sample chunks so the cost of the FFT would be much
higher. Last thing: I don't think you can handle the current (direct
form II) memories with an FFT.

> Now the problem of IIR filters: IIR filters and fixed point math do not
> mix well. Truncation errors and limited dynamic range problems are
> amplified by the feedback nature of the IIR.

Speex makes sure the filters are never too close to being unstable, so
I'm confident there will be no problem with the IIR.

> There are a bunch of IIR filters used in speex.  It seems to me that using
> the rounded impulse responses of those filters (up to limit of precision)
> would be a good approach, as opposed to redesigning all the filters.
I've
> done a few tests, and it looks promising.

There's a chicken-and-egg problem here. How do you compute the impulse
response without using an IIR filter in the first place? The IIR filters
are different for each 40-sample sub-frame BTW (i.e. you can't cache
them).

        Jean-Marc


--
Jean-Marc Valin, M.Sc.A.
LABORIUS (http://www.gel.usherb.ca/laborius)
Université de Sherbrooke, Québec, Canada


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: Ceci est une partie de message numériquement signée