96 kHz.org 
Advanced Audio Processing 
A parametric saturation model This page shows functions with programable saturation behavior based on polynoms. They can be used for smoothing operations, cross fading in between two channels and also wave generation by edge shaping.
wave generation with saturation functions
The slope of the curves and the degree of saturation can be easily adjusted, allowing the harmonics to be specifically limited. In this way, square waves can be synthesized with a welldefined bandwidth limit. The calculation is performed by an iterative procedure  specifically, by continued multiplication followed by numerical integration. Alternatively, the full formula can also be rolled out in order to then integrate it. The functions are derived from the equation Y = 4 * X * (1X) which leads to a parabolic arc at first. This function is squared several times to obtain bell curves with a decreasing width which then are integrated. The range for X is 0 ... 1. The factor 4 is to scale it that way that it reaches the 100% at the top of the curve. The integrated functions are scaled in a simular way to end up at 100%. First stage Y = 4 * ( X  X*X) Second stage: Y2 = Y*Y = 16 * ( X*X
 2*X*X*X + X*X*X*X ) Third stage: Y3 = Y2*Y2 = ...
A complete model with parameterization is available as C code. Download CApp for Chameleon DSP: Parametric Saturation Distorsion

© 2004  Jürgen Schuhmacher 