Exponential parameter decay and growth patterns are typically perceived as sounding more natural.
One approach to mapping parameters with "exponential" curves is to make use of the equation:
where is a scale factor calculated in a similar way to the linear line slope given above and is a curvature constant greater than zero.
Values of the curve parameter less than 1.0 produce "logarithmic" growth and exponential decay patterns. Values of greater than 1.0 produce exponential growth and "logarithmic" decay patterns. A value of corresponds to linear growth and decay.
The Matlab script curve.m
demonstrates the use of the above equation for generating exponential envelopes.
Another approach to exponential envelopes is to use the general exponential function,
, remembering that exponential curves increase/decrease in equal proportion to their current value. This suggests an algorithm of the form:
where
, is the sample period, and is a user provided time constant.
Figure 8:
A simple asymptotic line segment envelope.
The Matlab script asymp.m
demonstrates the use of this last equation for generating exponential envelopes.
Note that these curves never actually reach their target value (though a threshold value can be used, within which the current value is simply set equal to the target). This algorithm is especially convenient in situations where a specific time duration is not known.