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

Regarding standard peak for ADAU1446 in SigmaStudio

SigmaDSP & SigmaStudio Mack Dec 6, 2011 00:00 2 replies Original on forum ↗
Subscribe
Mack Question
Dec 6, 2011 00:00

Hello,

Standar peak moudule shown below is available for ADAU1446 in sigmastudio.

I would like to know about correlation among expander, compressor, knee and threshold. I need a formula correlative with those parameters to control peak via MCU not using sigmastudio. I am diffculty knowing how 34 points on the curve are made because I did not find out peak-related formula in Help.

Best Regards,

Ernest

Audio Signal Processors

compressor

adau1446

peak

SigmaDSP Audio Processors

standard

Show More

1b178bbbff4a5f3b47db3cb4fade68a2.png
1b178bbbff4a5f3b47db3cb4fade68a2.png
1b178bbbff4a5f3b47db3cb4fade68a2.png-450x234.png
1b178bbbff4a5f3b47db3cb4fade68a2.png-450x234.png
ADIApproved Reply
Dec 14, 2011 00:00

I was pulled into several high-priority, time-critical projects at work over the past few weeks and unfortunately I had to de-prioritize my participation in the forum as a result. So, I apologize for making you wait so long for an answer. I am going to try to respond to everybody's questions within the next few days.

You're correct: the conversion from the GUI controls to the table points is not explained in the help file. I will contact the software team and ask for pseudocode that will show how these values are calculated. Once I receive that information, I will post it here.

ADIApproved Reply
Dec 15, 2011 00:00

The compressor table has 33 points, which matches the 33 points on the GUI. The calculation is actually done using 34 points stored in RAM. The first point stored in RAM represents the gain reduction value for any input below -90dB.

The exact mapping is available in this post:

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

Apparently we use some complex spline curves that are built into the Microsoft .NET Framework in order to get from the threshold/ratio values to the actual table points. However, I showed an example of how to calculate the points manually in the post above.

For a simple threshold / ratio control on a compressor, the pseudocode would be like this:

For every point in the table below the threshold,

Point = 1.0 (i.e. linear gain).

For the first point above the threshold,

Point = 1 divided by ratio.

For the second point above the threshold,

Point = 1 divided by (ratio squared).

For the nth point above the threshold,

Point = 1 divided by (ratio to the nth power).