I have a board with an ADAU1761 and an 8051 micro, and am trying to make the HPF and LPF with a variable frequency. At the moment the micro is pulling the sin(w0) and cos(w0) results from an external PROM and writing it to an interface read in the ADAU1761. The ADAU1761 performs the rest of the math to generate the IIR coefficients. Currently the micro reads these coefficients via an interface write and then safeloads them back into a Double Precision General IIR Coefficient Filter.

I'm trying to reduce the load on the micro.

Is there a way to have an arithmetic operation load directly into an IIR filter?

Thanks,

Ian

Depending on the range of control you wish to give the user, one option might be to store a table of filter coefficients in the SigmaDSP and simply let the user select from a number of options. You can do this by selecting filters from the "Lookup" subfolders in SigmaStudio.

Here's an example of how you can add multiple filters for the cell, which are selected via an index input. The microcontroller writes a single index number to the SigmaDSP to select each filter.

You could also try the state variable filter, which allows you to generate HP, BP, and LP filters from a single cell. The micro only needs to write the cutoff frequency and Q, and the filter coefficients are calculated internally.