Use this:
It is a single step for fixed point LMS.
c_ptr points to coefficient, r_ptr points to history.
muErr = e * mu;
mu = 2048(trial), using fixed mu;
accA, accB are at least 32 bit accumulators.
/* Macro: Performs single step of filter and adapt */
#define ADAPT_AND_FILTER(accA, accB, muErr, c_ptr, r_ptr) \
accB = 16384; \
accB += ((i32)*c_ptr++ * (i32)*r_ptr); \
accA += (accB >> 15); \
accB = 16384; \
accB += (i32)muErr * (((i32)*r_ptr++) << 2); \
*c_ptr = *c_ptr + (i16)(accB >> 15); \
;
Zubair Khan
"fran" <francescobonomini@libero.it> wrote in message
news:de5526c5.0312090322.7511915e@posting.google.com...
> Hi everyone!
> I need a fixed point implementation for the LMS algorithm;I have to
> implement it on a TI dsp board (c6711 or a c5000); can anyone suggest
> me where I can find this code?
>
> thank you guys!
>
> f
Reply by fran●December 9, 20032003-12-09
Hi everyone!
I need a fixed point implementation for the LMS algorithm;I have to
implement it on a TI dsp board (c6711 or a c5000); can anyone suggest
me where I can find this code?
thank you guys!
f