AnsweredAssumed Answered

C-library biquad functions on a 21369

Question asked by roelof on Apr 7, 2010
Latest reply on May 23, 2011 by Mitesh



I'm attempting to program a 21369 in C. When I process two serial ports (i2s, 4 mono audio data signals, @ 24-bit, 192 kHz) using the biquad routines supplied by Visual DSP++ and I run the statistical profiler, processor usage for the biquads seems unreasonably high. I'm running several single stage biquads on each stream. The biquads can't be combined in a single cascaded filter (they're part of seperate processes).


The arrays containing my coefficient and state floats are defined globally in program- and data-memory, as per the run-time library manual.


float pm bqdCoeffs[5];

float dm bqdState[3];


A memory dump after running my program shows that all of the arrays seem to have been programmed to data-memory. Could this be the reason the biquad routines are taking up so much of the processors cycles? If so, how should I allocate my arrays?


Thanks very much for your time.


Regards, Roelof