[Speex-dev] fir_mem16,iir_mem16 and filter_mem16 optimisations

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Sat Aug 2 04:54:34 PDT 2008


Василий Троцкий a écrit :
> I have some questions about that functions: fir_mem16, iir_mem16 and filter_mem16.
> Filtering is very slow on TI DSP, and i want to optimise it. 
> Can somebody give me formulas which discribe work of this filters?
> Or any suggestions about how to transform code for better performance.
> 
> I going to implement this functions in assembler, but it is hard to do without full understanding how functions work.

These are direct-form II transposed filters. There's actually two ways
to compute them. For an alternate way, have a look at the commented
version of filter_mem2() completely at the bottom of filters_bfin.h. The
only thing you won't need from that one are the shifts by SIG_SHIFT
because the inputs and outputs of filter_mem16() are already 16 bits.

	Jean-Marc


More information about the Speex-dev mailing list