[Speex-dev] SPEEX in a DSPIC - optimisation of iir_mem16() for speed - can it be 16 bit ?

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Sat Sep 22 15:15:46 PDT 2007

iir_mem16() and filter_mem16() is already at the limit of what can be
tolerated in terms of precision, so there's no way to do what you're
suggesting without completely corrupting the signal (and probably making
everything unstable). That being said, I'm sure the 16x16=32
multiplications I'm using should be fast. Just make sure the compiler
isn't generating 32x32 multiplies.


Simon W Day wrote:
> Dear Sirs,
> I would be interested to hear your views on whether SPEEX could be made
> to run fast on a DSPIC33 by the following strategy:
> Make iir_mem16() (for example) purely 16 bit by restricting the number
> of bits in the signal to say 10 using SATURATE and then making the LPC
> co-efficients just 6 bits.
> At present (with standard code) the encode function is taking about
> 140ms which is seven times too long !
> Any thoughts welcome ? Best wishes for sunny September days. Simon
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev

More information about the Speex-dev mailing list