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

Sigmastudio limiter per frequency

SigmaDSP & SigmaStudio Alka Sep 17, 2015 00:00 7 replies Original on forum ↗
Subscribe
Alka Question
Sep 17, 2015 00:00

Hi,

I use ADAU1701 for a new application to drive a subwoofer.

I'd like to add a limiter to protect against very low frequencies at high power.

Usually, a high-pass filter is used for this purpose.

However, a high-pass limits the freq range of the sub regardless of the level, eventhoug at lower level, lower freq can be reproduced with no problem.

A limiter with a threshold depending on frequency would be more appropriate.

Threshold curve could look like this : (Y axis level in dBVFS, X=freq in Hz)

Any signal freq below the threshold level remains untouched. Above, it is limited to the threshold level according to freq.

Since we deal with very low freqencies, the limiter could limit instantaneous peak level, no need for RMS calculation.

I could not find any way to implement this in SigmaStudio. Any suggestion ?

Thanks

Al

Audio Signal Processors

SigmaDSP Audio Processors

adau1701

jon71 Reply
Sep 17, 2015 00:00

The function you want is a multiband compressor, which can be done with the crossover module followed by a limiter on the LF band, then sum the bands back together (or leave them separate for your subwoofer and main outputs)

Alternatively, if you want a full-range limiter that triggers on LF input, use the peak limiter with external input with the external input fed from a lowpassed signal. But that probably isn't necessary in a real-world application, because peak energy in the LF band is almost always higher than peak energy in the HF band.

ADIApproved Reply
Sep 17, 2015 00:00

HI all:

what you are trying to do is what the Dynamic Bass algorithm already does (and it's code is already optimized) and I believe there is another variation of the algorithm.. You can also try the Superbass (that uses the missing fundamental principle).

Please try evaluating some of the ADI algorithms to see if they suit your needs. You can of course do this by yourself by using a voltage control (state variable filters) and as suggested by using 2 compressors. For the 2 compressor approach you will need to watch out and be careful with the crossover region

Hope this helps.

Miguel

Alka Reply
Sep 17, 2015 00:00

"multiband compressor" sounds right. Is there such a thing in SigmaStudio ?

I should have said that there is a crossover and the "signal" here only means only low frequencies. Real world : 20 to 150Hz. This part of the design I struggle with focuses on speaker protection against ultra low freq at high power.

Unfortately Cross-over + limiter will not do. The limiter will limit the full LF band the same way.

For the sake of understanding, lets consider an incoming signal made with 3 freq, each at 0dBFs : 20Hz, 30Hz and 60Hz.

A standard limiter will consider this as a 0dB signal and limit all 3 components the same way, according to the limiter level curve settings.

My goal is to limit diffently each part : the 20Hz component by -20dBFs, the 30Hz component by -3dBFs, and leave untouched the 60Hz signal component.

One may consider that a standard limiter + high-pass filter @30Hz will do.

It is better, but still does not meet the goal as the H-P filter will cut the frequencies regardless of the level.

Alka Reply
Sep 17, 2015 00:00

I definitively prefer to use an existing algorithm.
Unfortunately most of the dynamic bass are designed to boost low level bass, exactly the opposite of what I try to achieve.

I just saw "Dynamic Enhancement" can apply a negative gain, maybe this will help. Eventhough I don't udenrstand what a "fixed enhancement" is.
from help : "A fixed enhancement is applied to input levels below the threshold while a dynamic gain is applied to input levels above the threshold. "

I'll further investigate this option.

Thnaks

ADIApproved Reply
Sep 17, 2015 00:00

HI again:

What all those algorithms do is to apply gain to low level signals while reducing gain at high level signals. I believe this is what you are trying to do.

Miguel

jon71 Reply
Sep 17, 2015 00:00

Al, if you want a response that specific then create a sidechain with that filter, and then add a limited version of the full-range signal to it.

With the Dynamic Bass module, you could do the same thing by feeding it the filtered signal and setting the boost at its max of 16dB at 20Hz, although matching your exact desired behavior might not be possible.

Alka Reply
Sep 18, 2015 00:00

After some thinking, I'll keep it simple and only use a limiter + high-pass filter @30Hz
It will not exactly do what I initially wanted to achieve, but it's good enough and uses few ressources.

Thanks for your answers,

Al