Oscillators fi nd several uses in audio effects and plug-ins. The obvious use is as an audio test signal like the one RackAFX provides on the main interface. Additive synthesis of musical sounds uses multiple sinusoidal oscillators at harmonic frequencies to create complex waveforms. Wavetable synthesis stores a periodic waveform in a table for interpolation and playback when the musician strikes a key or a MIDI message is sent. Low-frequency oscillators (LFOs) are used in the design of modulated delay lines and modulated fi lters. Oscillators broadly fall into two categories: direct calculation and table lookup. We desire oscillators that have several important features:
• Stability over a wide range of frequencies • No aliasing • Purity of sinusoid (low THD+N) for sinusoidal oscillators • Quadrature phase outputs • Simplicity of calculation
We can make a sinusoidal oscillator by placing a pair of poles directly on the unit circle in the z-plane. This produces a sinusoid at the pole angle (or frequency). The radius of the pole is always 1.0. Using the fundamental digital signal processing (DSP) z -plane equations, we can directly write the transfer function and difference equations:
H(z) 5 a0 c 11 1 b1z21 1 b2z22 d 5 a0 c 11 2 2Rcos(Q)z21 1 R2z22 d
y(n) 5 2cos(Q)y(n 2 1) 2 y(n 2 2) (9.1)
Since the pole radius is 1.0, then the b 2 coeffi cient is 1.0 as well. The b 1 coeffi cient is then 22cos(u), where u is the pole frequency from 0 to p.