Post Go back to editing

the starting current/voltage of DAC output when rms compressor used

Category: Software
Product Number: ADAU1701

Hello All,

I used a RMS compressor in my project, and the output gain is about -39dB,and i measured the output used 1kHz sinwave and i found the starting current is much bigger than the normal, below is the snapshot.

I tried to set the compressor curve to flat and the starting current back to normal, but in the condition the output is not what i want, so is there something methods to solve this? I mean that make the starting current as the same level of the normal. 

attached is the project used.

Thanks.

Best regards

Eason

 AFILS.dspproj

  • Hello Eason,

    I think you are using the word "current: incorrectly. I think you mean output voltage or level?

    Yes, a voltage will be translated into a current through a load but with compressors you are concerned with levels not currents. 

    I do not fully understand your issue and you did not provide an example project. Usually compressor issues come down to time constant settings. The RMS compressor has an attack and release time constant. 

    I would also need to see the envelope of the signal going into the compressor then see what the output is doing to get an idea of what I am seeing in your screenshot. 

    Here is a document I wrote a few years ago when a customer was having distortion problems. The cause was incorrectly set time constants. This paper goes into how to correctly set them up. 

    I think this may help. Have a look and then let's see if we can get you moving forward with your project. 

    Dave T

    PDF

  • Hello Dave,

    You're right, the voltage should be correct rather than a current.

    Thanks for the document enclosed, based on this document, I think it's the compressor issue and it came down to time constant settings.To get my issue more clear, I took an further test, shown as below:

    1. TC = 100 and the output level = -40dB

    2. TC = 100 and set the curve to flat

    3. TC = 10000 and the output level = -40dB

    comparing 1 with 2, we can see the output level is stabile when compressor curve set to flat.

    and comparing 1 with 3, this issue comes down when TC set to maximum.

    And to exclude the reason of the signal going into the compressor, i used the sine tone source in sigmastudio for verification, and the result is the same with the test above.

    for the Time constant setting, i found one new issue that the output level when TC is 100 is a little bit different  with TC is 10000. the difference is more than 1dB。

    if the hold time increased, the difference is smaller. 

     This issue would come down when incresing TC, but it still exists when TC is maximum.

    So what i'm concerned is how to solve this starting voltage fundamentally ?

    I do attached my project in the post. here attached again with another project with sine tone source6116.Design 1.dspproj0652.AFILS.dspproj

    Eason

  • 0
    •  Analog Employees 
    •  Super User 
    in reply to wangea

    Hello Eason,

    This is because you are using an RMS compressor. There is an attack time which means there is a delay from when the audio goes above the threshold to when the gain is reduced. This produces a short time when the audio will be above the threshold. This actually sounds good for things like vocals and drum sounds when mixing music tracks. You still get the crisp attack but hear more sustain. So there is nothing wrong here. 

    In situation like protection to keep a power amp from clipping or the serial output port from clipping you clearly do NOT meant it to go over the threshold so for that situation use a peak limiter. In the old analog days it was impossible to do this unless you used a delay line to delay the audio but not the audio going to the sidechain so the audio can hit the sidechain and lower the gain before it gets too loud. 

    However, in the DSP world you CAN do it instantaneous. Our peak limiters do not have an attack time because it is instantaneous. 

    I suggest you try the peak limiters and you should be able to get it to limit exactly where you need it to limit and not go over. 

    I would allow one or two dB of margin because of the compressor points are about every three dB spacing with a linear interpolation between the points so I would give yourself a small margin. 

    I have not looked at your project at this point. Been a busy day but your pictures and explanation were very good to allow me to understand what your issue was and what you are seeing. 

    Change the compressor to a peak and let me know how that goes. 

    Dave T

  • Hello Dave,

    Thanks for your explanation and suggestion, I had used a peak compressor instead of a rms and it works, there is no the attack time issue with peak limiter, i will do further test with my project.

    Really appreciate for your detaied explanation and help.

    Best regards,

    Eason