SigmaStudio export human-readable values

Dear EngineerZone,

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, 

Eric

Parents
  • 0
    •  Super User 
    on Jul 4, 2019 3:14 PM

         Hello Eric,

         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.

         Best regards,

         Bob

    Multi-EQ_IIR-Coefficient_Calculator.zip

Reply
  • 0
    •  Super User 
    on Jul 4, 2019 3:14 PM

         Hello Eric,

         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.

         Best regards,

         Bob

    Multi-EQ_IIR-Coefficient_Calculator.zip

Children