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
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.
Posted by Lars Ljung●November 2, 2004
> 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.
100% of our work is cutting-edge DSP
We are a small, high tech, sonar-processing company that develops state-of-the-art sonar, signal processing software systems used in naval aircraft.
* 60-75% signal processing algorithm development
* 25% real time code development in C++ Full relocation will be provided for the right candidate (e.g. relocation package up to $20,000).