22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

474 MUSICAL ApPLICATIONS OF MICROPROCESSORS<br />

the table content or time-varying interpolation along a sequence <strong>of</strong> waveform<br />

tables. The more specific term, "nonlinear waveshaping synthesis," is<br />

actually nothing more than subjecting a sine wave to a nonlinear distortion<br />

process such as that described in analog form at the beginning <strong>of</strong> Chapter 2.<br />

By simply varying the amplitude <strong>of</strong> the input sine wave, the spectrum <strong>of</strong> the<br />

output waveform will vary in a complex fashion. What makes the technique<br />

much more useful in digital form is that very precise arbitrary transfer<br />

functions are easily implemented, using, guess what, a table. By contrast,<br />

the analog equivalent is generally limited to clipping and rectification<br />

operations or, at best, piecewise-linear approximations to curves using a<br />

small number <strong>of</strong> segments.<br />

Fig. 13-30 shows a standardized representation <strong>of</strong> a nonlinear transfer<br />

function. As with Fig. 2-1, the input sine wave is applied in the X direction,<br />

and corresponding Y points on the curve represent the output. For easy and<br />

consistent application in digital circuitry, the input signal is restricted to the<br />

range <strong>of</strong> - 1 to + 1, and the output signal is similarly restricted. Since the<br />

input is always a sine wave, it is usually not shown while the output and its<br />

spectrum are shown. It is not necessary for the curve to pass through the<br />

origin, but, ifit doesn't, there will be an output dc <strong>of</strong>fset for no input, which<br />

could lead to audible envelope thumps and other problems in subsequent<br />

processing. Thus, it may be desirable to shift the curve up or down so that it<br />

does pass through the origin. Using this representation, it becomes easy to<br />

put the shape into a table with the X values representing successive table<br />

entries and the Y values representing the value <strong>of</strong> the entries. Although this<br />

requires the curve to be a single-valued function, analog hysteresis effects<br />

could probably be simulated by using two tables and keeping track <strong>of</strong> the<br />

slope <strong>of</strong> the input sinusoid.<br />

While any kind <strong>of</strong> curve can be used for a distorting function, even one<br />

drawn by hand, mathematicians like to use polynomials to describe arbitrary<br />

curves. With such a description, they can then predict what the output<br />

spectrum will be without actually simulating the process on a computer and<br />

then using the Fourier transform. Explaining that process here won't be<br />

attempted, but some <strong>of</strong> the properties <strong>of</strong> polynomial curves are easily<br />

understood. One desirable property is that the highest harmonic present in<br />

the output is equal to the highest power <strong>of</strong> X used to construct the curve.<br />

This aids tremendously in predicting and avoiding alias distortion.<br />

One specific class <strong>of</strong> polynomials that has other desirable acoustic<br />

properties when used to construct nonlinear distorting functions is called<br />

Chebychev polynomials <strong>of</strong> the first kind. Figure 13-31A-H shows equations for<br />

these polynomials up to the eighth order, their corresponding distortion<br />

curve, the output waveform when the input is a sine wave <strong>of</strong> unity<br />

amplitude, and the harmonic spectrum <strong>of</strong> the output. Note that, in effect,<br />

each <strong>of</strong>these polynomials multiplies the frequency <strong>of</strong> the input sine wave by a<br />

factor equal to its order. Or, in other words, a Chebychev polynomial <strong>of</strong> order

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!