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

Limiter Values

SigmaDSP & SigmaStudio db10 Mar 3, 2011 00:00 14 replies Original on forum ↗
Subscribe
db10 Question
Mar 3, 2011 00:00

Sigma Studo Help does not explicitly define the valid range of values for the Limiter Threshold Parameter (the example graph shows a curve that only reaches 0dB).

-What is the valid range of values?

-What is the resolution?

-If the valid range extends to +24dB does the limiter function as a limiter over the entire range? (e.g. some compressors stop compressing when the input is greater than 6dB).

ADIApproved Reply
Mar 4, 2011 00:00

-What is the valid range of values?

The Threshold can be set anywhere from -24 dB to +24 dB.

-What is the resolution?

The resolution is 0.01 dB or possibly less. In my tests I saw a distinct change in level by altering the threshold in steps of 0.01 dB. I didn't test with steps lower than that.

-If the valid range extends to +24dB does the limiter function as a limiter over the entire range? (e.g. some compressors stop compressing when the input is greater than 6dB).

Yes. You can input any signal up to +24 dB and it will limit properly. For example, you could even set the threshold at +22 dB and input a +24 dB square wave, and the output will limit at +22 dB within the core. Of course, the DACs and serial ports will clip the signal at 0 dB.

By the way, a good signal flow you could use to play around with the limiter is shown here:

d26583c289d6273b74068af25cb58acb.jpg
d26583c289d6273b74068af25cb58acb.jpg
d26583c289d6273b74068af25cb58acb.jpg-446x191.jpg
d26583c289d6273b74068af25cb58acb.jpg-446x191.jpg
db10 Reply
May 16, 2011 00:00

Follow up to Limiter Values Question:

Comparing the limiter function block to that of a compressor function block, it appears that the RMS TC values are caclulated using the same formulas, since SigmaStudio generates the same values for the same RMS TC entry. However, for identical decay values entered into compressor and limiter function blocks, Sigma Studio generates different values written to the DSP. Formulas for the compressor function block have been discussed elsewhere and do seem to result in the same values that Sigma Studio generates. So:

1. What is the formula for generating the Limiter Decay values?

2. What is the valud range of decay values? Sigma Studio appears limited from 5 to 23.

ADIApproved Reply
May 26, 2011 00:00

1) There are two parameter values in the Limiter that are used decay:
decay and decaycomplement
They are calculated like this: (where val = value from the GUI control)
decay = 2 ^ (-val)
decaycomplement = 1 - 2 ^ (-1*(23 - val))

The carat symbol (^) indicates a power, i.e. x ^ y = x to the y power.

2) Those ranges are imposed by the GUI, but we could lower the lower limit on the GUI to 1 (you could also do this in your uC code). However, it cannot go above 23, because the complement value becomes zero when the decay = 23.

Message was edited by: BrettG - Correct formula

tommi Reply
Oct 10, 2011 00:00

hello,

I've just come to a point about this thanks to various posts from the analog guys on the forum.

I think there is a minor mistake in this formula, isn't delaycomplement = 1 - (2 ^ (-1*(23 - val)))?

then, regarding the 23 dB/s limit, I believe it is so because of the multiplication per 2^23 that is necessary for converting decimal non integer values into hex's.

since the first operation is 2 ^ -val, once val is > 23 it will always be equal to 0.0 at the end of the conversion.

does this make sense?

cheers

tom

ADIApproved Reply
Oct 17, 2011 00:00

Hi Tom,

Yes, that looks right. I guess I forgot the " 1 - " part. I'll go back and edit my post to avoid confusion for anybody who checks this thread.

J3627 Reply
Dec 4, 2012 00:00

I don't understand how the decay value is "dB/s". In my experiments, if this value is larger, the gain takes longer to return to normal after the signal reduces. With a value of 23, the gain is permanently reduced by a large signal, and never increases back to normal.

I would think that "dB/s" means the slope at which it returns to normal, so larger values would be a steeper slope and would return to normal more quickly, and having a fixed reduction that never recovers would be "0 dB/s". Am I misunderstanding?

Also, if you hover the mouse over the red outputs, I think the tooltips are wrong. The middle output is "Limter Ratio" while the lower one is "Limiter Active Flag", but the actual functions are the opposite.

KJBob Reply
Dec 4, 2012 00:00

Hi J3627,

Your understanding is in fact correct. Usually in SigmaStudio, "dB/s" is just that -- thus a higher number should mean a faster speed. The limiter's "decay" control, although labeled as "dB/s", doesn't work the same way as similar controls on other blocks such as the Running Average Dynamics Processor. As you noted, the higher the "decay" number, the slower the limiter recovers. So its labeling as dB/s is inconsistent with its behavior. As you suspected, a dynamic block's "dB/s" number should instead be directly related to speed and inversely related to its time constant.

This relation between time constant and dB/s is: T = 8.7 / (dB/s)

Best regards,

Bob

Mack Reply
Feb 14, 2013 00:00

Hi BrettG,

Decalycomplement values calculated with the expression 1-(2^(-1*(23-val))) does not match values from capture window of SigmaStudio for SHARC. For example, decay 6 and 10 are 0.999971218100545 and 0.999952030627797 from capture windows, respectively. However the calculated values using the expression are 0.999992370605468 and 0.9998779296875. I think that SigmaStudio for SHARC seems to use a different expression for decaycomplement. Could you let me know the exact expression when using SigmaStudio for SHARC?

Best Regards,

Mack

83dfca0cd977936510029eae9a3b35b0.png
83dfca0cd977936510029eae9a3b35b0.png
83dfca0cd977936510029eae9a3b35b0.png-450x243.png
83dfca0cd977936510029eae9a3b35b0.png-450x243.png
JJoseph Reply
Feb 17, 2013 00:00

Hi Mack,

SigmaStudio for SHARC uses the expression:

Decay = 10 ^ (-Val / (10*FS))

where Val = value from the GUI control

FS = Sampling Frequency

Decaycomplement is not used in the SigmaStudio for SHARC implementation of RMS Limiter.

Best Regards,

John

ADIApproved Reply
Feb 18, 2013 00:00

Hi Mack:

One more note, the SigmaStudio for Sharc implementation needed to be different because of the floating point nature of the DSP.

Hope this helps.

Miguel

Mack Reply
Feb 19, 2013 00:00

Thanks John and Miguel.

Bset Regards,

Mack

Sue.Wu Reply
Jun 4, 2013 00:00

Hi Miguel and John,

For SigmaStudio for SHARC, is there any change for RMS TC (dB/s) value calucation in RMS limiter? if it is, what is the expression? thanks!

best regards,

Sue

JJoseph Reply
Jun 6, 2013 00:00

Hi Sue,

There is no difference in RMS TC value calculation.

Best Regards,

John

EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin