The Asymmetric soft clipper block is a soft clipper that clips the level of the input signal asymmetrically according to the set clipping thresholds. As the input signal reaches the clip threshold at either ends, the algorithm rounds the edges for a smoother clipped output. |
The module supports two algorithms:
1.Standard Cubic Clip
2.Advanced Clip
Name | Format [int/dec] - [control/audio] | Function Description |
---|---|---|
Pin 0: Input | decimal - audio | Input signal to be clipped |
Name | Format [int/dec] - [control/audio] | Function Description |
---|---|---|
Pin 0: Output | decimal - audio | The soft-clipped output |
GUI Control Name | Default Value | Range | Function Description |
---|---|---|---|
Clip up | 1 | 0.1-10 | This pre/post scalar determines the amount of clipping that will occur at the positive part of the input signal. Although this influences the threshold value of the clipper, this is not the value at which clipping occurs. [See the function in the Algorithm Description] |
Clip down | 1 | 0.1-10 | This pre/post scalar determines the amount of clipping that will occur at the negative part of the input signal. Although this influences the threshold value of the clipper, this is not the value at which clipping occurs. [See the function in the Algorithm Description] |
GUI Control Name | Default Value | Range | Function Description |
---|---|---|---|
Clip up | 1 | 0.1-0.9 | This pre/post scalar determines the amount of clipping that will occur at the positive part of the input signal. Although this influences the threshold value of the clipper, this is not the value at which clipping occurs. [See the function in the Algorithm Description] |
Clip down | 1 | 0.1-0.9 | This pre/post scalar determines the amount of clipping that will occur at the negative part of the input signal. Although this influences the threshold value of the clipper, this is not the value at which clipping occurs. [See the function in the Algorithm Description] |
GUI Control Name | Compiler Name | Function Description |
---|---|---|
Alpha1 | SoftClipAlg1alpha1 SoftClipAlg1alpha1m1 | When the Clip up value is changed in the GUI window, two parameters are downloaded to the DSP. The alpha1 value is written directly to the DSP as well as the inverse 1/alpha1 is written to the DSP. |
Alpha2 | SoftClipAlg1alpha2 SoftClipAlg1alpha2m1 | When the Clip down value is changed in the GUI window, two parameters are downloaded to the DSP. The alpha2 value is written directly to the DSP as well as the inverse 1/alpha2 is written to the DSP. |
Note: There are other fixed parameters used for this algorithm, but they do not need to be updated when the alpha value is changed.
GUI Control Name | Compiler Name | Function Description |
---|---|---|
tau1 | SoftClipAlg1tau1 SoftClipAlg1onemtau1 SoftClipAlg1inv_onemtau1 | When the Clip up value is changed in the GUI window, two parameters are downloaded to the DSP. The tau1 value is written directly to the DSP as well as 1/(1-tau1) and (1-tau1) is written to the DSP. |
tau2 | SoftClipAlg1tau2 SoftClipAlg1onemtau2 SoftClipAlg1inv_onemtau2 | When the Clip down value is changed in the GUI window, two parameters are downloaded to the DSP. The tau2 value is written directly to the DSP as well as 1/(1-tau2) and (1-tau2) is written to the DSP. |
The Standard Cubic block asymmetrically clips portions of signal voltages according to a cubic asymmetric soft clip function. The pre/post scalar alpha1 and alpha2 make the soft clip more or less severe. alpha1 sets the clipping threshold for the positive part of the input signal, whereas alpha2, sets the clipping threshold for the lower part of the input signal.This block limits the range of the output signal according to the following formulas:
Thus for the default value of Alpha1 = 1, Alpha2=1, the signal range will be from [-2/3, 2/3]. Changing the value of Alphas will affect the output range of the signal. The following graphs show the relationship between changing values of Alphas and obtaining different signal ranges.
The following image shows the Soft Clipper, being compared to a Hard Clipper and also the direct signal coming from the Inputs.
The Hard Clipper and Soft Clipper are set with corresponding Alpha and threshold values so that their clip behavior occurs at the same time. However, you will notice in the following output comparison graph, the Soft Clipper has rounded smoother edges on the output where clipping begins to occur which has a more pleasing auditory effect.
Toolbox Path | Non Linear Processors - Clippers - Soft Clip -Asymmetric Cubic Clip- Asymmetric Soft clipper |
Cores Supported | ADAU145x |
“Grow Algorithm” Supported | yes - see Algorithm Growth Information |
“Add Algorithm” Supported | no |
Subroutine/Loop Based | no |
Description | When the SoftClip algorithm is grown, an extra pair of input/output pints is added to the control. The same Alpha parameter affects the clipping on grown Input pins. | ![]() |
The Advanced clip block asymmetrically clips portions of signal voltages according to a TanH asymmetric soft clip function. The pre/post scalar alpha1 and alpha2 make the soft clip more or less severe. alpha1 sets the clipping threshold for the positive part of the input signal, whereas alpha2, sets the clipping threshold for the lower part of the input signal.This block limits the range of the output signal according to the following formulas:
Thus for the default value of tau1 = 0.5, tau2=0.5. Changing the value of taus will affect the output range of the signal.
The graph below shows an input sine tone and the resulting clipped output with threshold values at:
Clip Up: 0.8
Clip Down: 0.2
Toolbox Path | Non Linear Processors - Clippers - Soft Clip -Asymmetric Advanced Clip- Asymmetric Soft clipper |
Cores Supported | ADAU145x |
“Grow Algorithm” Supported | yes - see Algorithm Growth Information |
“Add Algorithm” Supported | no |
Subroutine/Loop Based | no |