ΣSigmaStudio Ask AI Русский Log in

ADAU1761 parameter changing *without* Sigma Studio

SigmaDSP & SigmaStudio HowardE Apr 8, 2015 00:00 4 replies Original on forum ↗
Subscribe
HowardE Question
Apr 8, 2015 00:00

I have an application where the audio device will be taking steps to equalize itself. The current method we use as a demo is to use Sigma Studio (3.something) to adjust the sliders and generate compiled output. This is then sent to the processor and the process is repeated until we get the effect we're after. It works really well for a lab environment, but now I need to move the concept to a consumer product.

What i need to do is generate the output for an equalizer, identify which of the bytes in the output are which parameter and be able to rewrite those parameters without using Sigma Studio to recompile. I can use one of three solutions:

1) Identify the bytes in the output and just change those. If I could see the intermediate source that Sigma Studio generated I could probably figure that out.

2) Have the generated output access a table of data in one place instead of putting the parameters in the code itself. I suspect that's hard to do, but it would make #1 easier.

3) Use a command line compiler I could put in the tool chain, I'd be fine with the equalization tool having the DSP source which it modifies and recompiles.

This is for the factory calibration and assembly of a consumer product so it needs to run on the final device, but it's not something a user will do. The tools and the tool chain developed for this will be restricted to the factory - final test and assembly area. Does anyone have any suggestions or pointers to tools I can build a solution with? I'd appreciate any guidance and can likely reimburse you for the coffee/tea/beer you're drinking as you read this if you can help.

Thanks in advance,

Howard

Audio Signal Processors

sigma studio

parameters

SigmaDSP Audio Processors

adau1761

HowardE Reply
Apr 17, 2015 00:00

Update:

I've identified the specific bytes in the output from SigmaStudio I'm concerned with, figured out most of the byte encoding and am contacting tech support to see about getting an explanation for the rest. From there it should be an easy task to get the system to equalize itself.

HowardE Reply
May 1, 2015 00:00

When no one here had any suggestions I posed the question to tech support and just got a detailed response. I'll share it here in case it helps anyone else trying to do something similar.

------------------------------

The General 2nd Order equalizer implements each filter (10 in this case) as a Direct Form II Bi-Quad. This filter type has 5 coefficients associated with the characteristics of the filter.
B0
B1
B2
A1
A2
These are the five values noticed per slider. They can be used to back calculate information such as gain and center frequency. The equations change per type of filter (parametric, HP, LP, Butterworth, etc...). By default these filter types are parametric (peaking), which I will assume is the case in this application.

On the ADI wiki, there is a list of the equations for each filter type. You can find them here.
https://wiki.analog.com/resources/tools-software/sigmastudio/toolbox/filters/general2ndorder

In the params list in the export systems file, these coefficients appear in the following format:
Cell Name = Mid EQ1
Parameter Name = EQ1940SingleS10B1
Parameter Address = 8
Parameter Value = 0.947999358177185
Parameter Data :
0x00 , 0x79 , 0x58 , 0x0B ,

The identifier for each parameter appears in the parameter name line. Particularly, you need only be concerned with the last 3 characters, in this case 0B1.

The first two characters determine which coefficient you are referring to. In this case, 0B means the B0 coefficient.
The last character refers to which slider these coefficients represent. In this case, slider 1.

You can go through each of the params and build your series of B0, B1, B2, A1, and A2 coefficients to characterize the response of each filter. The value of each coefficient correlates with the Parameter Value and Parameter Data information.

KJBob Reply
May 1, 2015 00:00

Hello Howard,

You'll also find a spreadsheet to calculate coefficients for several filter types at:

https://ez.analog.com/message/160192#160192

Best regards,

Bob

HowardE Reply
May 5, 2015 00:00

Cool, Thanks!

Howard