it is a long time ago i asked a similar question but the question is now closed. So I will ask again.
Is there any way to export all human-readable parameters out of sigma studio, like frequency, q, ripple and so on?
We are working on several projects where a microcontroller controls the DSP (ADAU1452). The user can change filter-frequency and a lot of different parameters or load whole presets. A very common use case. This means that we have to store all parameters inside the MCU to calculate the coefficiants. At the moment we have to copy all values from sigmastudio into our code by hand, which is a lot of work and not failure safe. Also when you think of whole presets. When we pepare a new preset in sigmastudio we have to copy everything again by hand.
It would be great if there is a way to get on these vaules instead of only the coefficiants.
Best regards and thanks in advance,
thanks a lot for your answer. Our problem is not the calculation. We do it excatly in the way you described above. So we store the filter parameters (frequency, Q and boost) in the MCU and calculate…
One solution would be to read the coefficients from the DSP and reverse-engineer the filter settings based on those. In general it's not too hard to run the algorithms in reverse. The main challenge is…
thanks a lot for your detailed answer. This script is very nice and I will definetly keep it. I think this can be very helpful in the future. But as you mentioned the filter-type and rounding…
This is most often done by storing only the filter parameters (frequency, Q, and boost) in your micro, then have it calculate the coefficients on the fly in order to safeload the filters inside the ADAU1452's parameter memory. Inside SigmaStudio, use ordinary general 2nd-order filters with dummy values which your uC writes over at power-up and as needed. With the micro handling all this, there's no need to hand copy coefficients from SigmaStudio.
This is easiest when you limit your input parameters as is commonly done in digital EQ: frequency choices in 1/6 octave steps, boost in 1 dB steps, and bandwidth in fixed choices. The micro can be programmed with a combination of lookup tables and math to figure the filter coefficients. Presets are simply stored parameters which can go through the same math on the way to the DSP. The basic formulas for calculating coefficients are found in the SigmaStudio wiki. You may find it easier to extract these formulas from the spreadsheet I've attached. You can test whether your calculations are correct by hand entering the resulting coefficients into a General Second-Order Filter set for IIR Coefficient. The most common error is the sign of the "a" coefficients; often they need to be inverted.
thanks a lot for your answer. Our problem is not the calculation. We do it excatly in the way you described above. So we store the filter parameters (frequency, Q and boost) in the MCU and calculate the coefficiants if a user change settings. But to do this we need the default values of these parameters to update the DSP on startup.
Our problem is that our "audio engineers" are using SigmaStudio for the default setup. It is very convenient for them because the design the DSP schematic structure and they adjust the default values in real time during the device runs.
After they are ready with everything this file goes to the embedded department where they add the MCU control and so on. But in this moment we have to copy the values/parameters out of SigmaStudio that the DSP is updated on startup with the default settings. It would be great to export the parameters out of SigmaStudio. Is there a way to do this?
Best regards and thanks in advance,
do you have any news for me regarding my last question/explanaiton?
Many thanks in advance and best regards,