We are working on a servo system. The servo calculates new data samples and internal states on a sample by sample basis.
Within this servo processing algorithm, there are a number of filters. Generally these are 2-pole IIR filters, for example low-pass or notch filters.
Currently we perform this filtration in the usual fashion, with C code. However, we would like to examine the possibility of using the IIR Accelerator built into the SHARC processor, to see if it will provide any benefit.
As we have looked at the example code (for example "TalkThru") for the IIR accelerator, we see that this processes 512 samples at a shot. Within the servo code, we really do not have that priviledge. We must filter only a single input sample to get a single result, which is output to the next stage in the servo, and then we see what the plant (mechanical system) does, and calculate a new input sample.
The question is -- given that we process only a single sample, would there be any benefit to using the IIR accelerator, or does this accelerator really only provide benefit with large blocks of input samples, or filters with many poles/taps?