My application requires real-time control of General 2nd-Order Filter coefficients to change f0.
Can I use Safeload registers to do that?
Here's an overview of the steps your microcontroller needs to do:
1. Calculate the coefficients -- See Brett's FAQ: http://ez.analog.com/docs/DOC-1819
He provides a spreadsheet that calculates the IIR coefficients. You could express the spreadsheet's formulas in your C code or else devise s lookup table -- either way works.
Test your coefficients by manually typing them into the IIR Coefficient Filter:
2. Convert your coefficients to the needed integer bytes for safeloading. NandoOne's post helps with this:
3. Have your microcontroller safeload the coefficients. Note that although the coefficients are each 3.5 bytes (28 bits) long, the ADAU1701 expects five bytes for each. Each coefficient has its top byte padded with four binary zeros, and includes an added zero byte in the middle. See:
Thanks a lot!
Retrieving data ...