This version (15 Dec 2016 07:43) was approved by Prasad Kamath.

Standard Cubic

The Standard Cubic block is a soft clipper that uses a cubic function to clip the level of the input signal. As the input signal reaches the clip threshold, the algorithm rounds the edges for a smoother clipped output.

Input Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Inputdecimal - audioInput signal to be clipped

Output Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Outputdecimal - audioThe soft-clipped output

GUI Controls

GUI Control NameDefault ValueRangeFunction Description
Alpha10.1 - 10This pre/post scalar determines the amount of clipping that will occur. 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]

DSP Parameter Information

GUI Control NameCompiler NameFunction Description
When the Alpha value is changed in the GUI window, two parameters are downloaded to the DSP. The alpha value is written directly to the DSP as well as the inverse 1/alpha is written to the DSP. Both values need to be written in order to ensure proper operation of the algorithm.

Note: There are other fixed parameters used for this algorithm, but they do not need to be updated when the alpha value is changed.

Algorithm Description

The Standard Cubic block clips portions of signal voltages according to a cubic soft clip function. The pre/post scalar alpha makes the soft clip more or less severe. This block limits the range of the output signal according to the following formulas:

Thus for the default value of Alpha = 1, the signal range will be from [-2/3, 2/3]. Changing the value of alpha will affect the output range of the signal. The following graphs show the relationship between changing values of alpha 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. A stereo switch mux allows for selection of the processing type, and then the signals are routed to the Outputs.

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.

Algorithm Details

Toolbox PathNon Linear Processors - Clippers - Soft Clip - Standard Cubic
Cores SupportedADAU144x
“Grow Algorithm” Supportedyes - see Algorithm Growth Information
“Add Algorithm” Supportedno
Subroutine/Loop Basedno
Program RAM21*
Data RAM2*
Parameter RAM5*

*Numbers are based on one instance of the algorithm with no additional “add” or “grow”

Algorithm Growth Information

DescriptionWhen 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.
Program RAM Repetition21 per growth
Data RAM Repetition1 per growth
Parameter RAM Repetitionnone
resources/tools-software/sigmastudio/toolbox/nonlinearprocessors/standardcubic.txt · Last modified: 15 Dec 2016 07:43 by Prasad Kamath