c6711 dsk & adaptive filter problem

Started by yoga November 2, 2004
Hi everyone,

I'm a student working on modified Griffith-Jim beamforming for my
masters project.  I'm implementing this algorithm in TI's c6711 dsk,
and also using PCM3003 codec to get two input's from the microphones.
I'm trying to reduce the background noise using an adaptive filter
(its based on NLMS).

I have done the implementation in c-code in CCS, but I have a bit of
problem with the adaptive filter. whenever I use 30/40 no. of weights
the output speech sounds all right but when I use anything higher no.
say 80 or something, my output gets distorted.

i have to use higher no of weights (like 400) to reduce the background
noise, but whenever i use a higher no of weights my speech is getting
distored.

Does anyone have any idea why this is happening? or how i can get
around this problem, Any help would be good.

I hope I explained my problem clearly.

Thanks in advance.

y
yoga wrote:
> I have done the implementation in c-code in CCS, but I have a bit of > problem with the adaptive filter. whenever I use 30/40 no. of weights > the output speech sounds all right but when I use anything higher no. > say 80 or something, my output gets distorted.
It sounds like you are having problems with the speed of your code, try to optimize it to run faster (might be easier said then done). Use the profiler to find out which parts of the code needs optimization. Try to use the assembler functions in dsplib instead of loops in C. Use DMA if you don't do that already. Regards Lars