Сигнал Envelope Параметры блока

Signal Envelope Block Parameters

Активно 3 Ответы 413 Просмотры 2018-12-30 Общие вопросы


I am using Sigma Studio 4.1 and ADAU 1452 processor. For the project i am using the Signal Envelope Block, which looks like the following

As i saw from the other questions and answer, and found a formula to calculate the rms TC (db/s) attack time in ms from the (db/s). So the 200 (db/s) corresponds to around 45 ms. But my confusion is with the decay rate. The unit is in (k/s) what i understood from the forum so far that is a linear decay. My question is how to calculate the decay time in ms from the current decay value. i am using this block to detect the level of the input signal and we want to make the detection slower. by making the rms TC (db/s) smaller i get a slower change in the detection, is this the correct way to do it?

edited to add the tags
[edited by: skhan at 10:53 AM (GMT -4) on 31 Aug 2018]

guest replied
1 Year

   Hello skhan,

   The top of the envelope includes the time it should be there according to the block's input, plus the Hold time.  30 mS is just too small to see on the Real-Time Display, compared to the 500 mS already there.  Repeat the experiment with a hold time of say, 300 mS to see it in action.  Or run a higher pulse frequency, bring the outputs out to DACs and view on a scope.  The scope method is especially instructive because if you input a low frequency tone and set relatively fast attack and decay times, you can see how Hold reduces or eliminates the ripple" in the envelope output -- similar to ripple in a linear power supply..

   Likely you already know why AD includes a Hold time in all their Dynamic blocks, yet for others who may not know:  When properly set it prevents added distortion in compressors and such.  An analog compressor's distortion had two primary sources -- non-linearity in its VCA itself, and gain changes within an audio waveform.  The DSP's numeric multiplication eliminates the former while Hold prevents the latter.  I usually set Hold to the half-period of the lowest audio frequency -- for example, 25 mS for 20 Hz. 

   Here's an extreme example of what happens without Hold -- The 30 Hz sine waves below are from identical compressors, both set for fast response. One has Hold = 25 mS while the other has zero.  You figure out which is which!

And the yellow trace below is the ripple that causes the distortion (made using an envelope follower without hold).  If someone showed me this without saying where it came from, I'd say, Linear power supply!:

   Best regards,


guest replied
1 Year

Hallo Bob

Thanks for the awesome answer. This helps to clear out the confusions. I can now see the effect of the attack and the decay time. Just one thing that is making me confused is the hold time. I tried changing the hold time as you can see on the following images, keeping all the other settings the same, i don't see any change on the response. the time where the signal remain at 1 shouldn't it be the hold time? or i am understanding it wrong the effect of the hold time?

guest replied
1 Year

     Hello skhan,

     The unit k/s can be interpreted as the percentage of full-scale audio (1.0 decimal) that linearly decays in one second.  This is confirmed by some experiments shown below.  In all these tests, a pulse generator spends one second each at 1.0 and zero.  This is fed to the Envelope block with its results observed on the Real-Time Display.  In the first example, the Envelope decay is set at 20.  We see that its output drops from 1.0 to 0.8 in one second, a decay of 0.20: