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;
float dm bqdState;
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.