[speex-dev] speex_preprocess in fixed point arithmetics

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Wed Dec 17 23:34:22 PST 2003

>   I am trying to get speex_preprocess in real time for
>  Arm. Tried 32.32 fixed point but looks like even that
>  precision is also not enough. Any suggesions?

32.32 precision is more than the current precision (float with 24-bit
mantissa). What you're probably experiencing is overflows and/or
underflows. This can only be resolved by looking at the values at each
place and using shifts appropriately.

Also, the thing is that ARM cannot handle 32.32 (64 bits) directly, so
I'm guessing that the final code uses ~10 instructions for each
multiplication. Instead, I think it's probably possible to use a mix of
16-bit and 32-bit arithmetic for the preprocessor. Of course, it would
require more time to convert (though you might save some work if you
find a fixed-point FFT implementation somewhere). 


Jean-Marc Valin, M.Sc.A., ing. jr.
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.
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20031218/6b65506e/signature-0001.pgp

More information about the Speex-dev mailing list