I was using the ADSP21161 which had the following signature for fir : float *fir ( const float dm input[], float dm output[], const float pm coeffs[], float dm state[], int samples, int taps ); I was forced to switch to the ADSP21065L which has the following signature for fir : float fir ( float sample, const float pm coeffs[], float dm state[], int taps ); The obvious difference is that the 21161 fir is designed to process an array of samples and the 21065L is designed to process a single element. Does anyone have the asm souce for a 21065L fir that performs the array instead of the single sample processing. I've already tried just performing a for loop in c and it's too slow. Thanks.
21161 vs 21065 fir
Started by ●August 27, 2003
Reply by ●August 27, 20032003-08-27
"Steve Holle" <sholle@link-comm.com> wrote in message news:ba83847d.0308271451.7b9a4709@posting.google.com...> I was using the ADSP21161 which had the following signature for fir : > > float *fir ( const float dm input[], > float dm output[], > const float pm coeffs[], > float dm state[], > int samples, > int taps > ); > > I was forced to switch to the ADSP21065L which has the following > signature for fir : > > float fir ( float sample, > const float pm coeffs[], > float dm state[], > int taps > ); > > The obvious difference is that the 21161 fir is designed to process an > array of samples and the 21065L is designed to process a single > element. Does anyone have the asm souce for a 21065L fir that > performs the array instead of the single sample processing. I've > already tried just performing a for loop in c and it's too slow.Look at the src files that come with your VDSP distribution. Specifically, look for 'fir_vec_nonSIMD.asm' under the 2116x directory. This should give you what you want (essentially the difference between the 21161 and the 21065 is the lack of SIMD with reference to what you want to do). I believe this is what you are looking for? Cheers Bhaskar> > Thanks.