In lieu of an abstract, here is a brief excerpt of the content:

  • Phase-Continuous Frequency Change in the Direct-Form, Second-Order Recursive Oscillator
  • Peter R. Symons

The direct-form, second-order recursive oscillator is a widely applied digital frequency synthesis technique. Its computational simplicity and ability to generate low-distortion sinusoidal signals make it an attractive computer-music tone generator, albeit one exhibiting a nonlinear frequency-control characteristic. The control complexity incurred by the arccosine frequency-control characteristic is offset by the minimal arithmetic overhead required in the direct-form oscillator compared to other recursive forms (Smith and Cook 1992).

The underlying principles and properties of the direct-form recursive oscillator are extensively reported in the literature (Abu-El-Haija and Al Ibrahim 1986; Orfanidis 1996). In essence, the oscillator is a second-order recursive (IIR) filter whose poles lie on the unit circle in the complex z-plane. This condition is unstable and under ideal conditions produces a pure discrete-time (DT) sinu-soidal oscillation sequence y(n) when initiated. Figure 1 illustrates the computational signal flow with initial conditions (ICs) y(-1) and y(-2) contained in the two unit-delay elements (z-1) to initiate the oscillation. The algorithm requires only one addition, two multiplications (of which one is by -1 and therefore trivial), and two unit-delay elements.

The ICs are a function of the required amplitude, frequency, and phase of the sinusoid oscillation. The literature typically considers IC values from a "cold start" where y(n)0 for all n < 0 in the context of replacing a forcing function as the initiation mechanism. Computer-music applications (and many others) require a constant-amplitude, phase-continuous frequency change at some arbitrary point in the signal. We define a phase-continuous transition as one in which the underlying phase-time characteristic shows only a change in slope at the transition point with no instantaneous jump in phase. The corresponding amplitude signal will therefore contain no step changes at the transition point, in an analogous manner to analog voltage control oscillator (VCO) behavior in the continuous time (CT) domain. Phase discontinuities generally lead to corresponding amplitude discontinuities and cause objectionable "clicks" in the audio signal, especially when playing a rapid sequence of notes (Lane et al. 1997). Computing ICs associated with a frequency change must take into account the oscillation phase at the last sample before the transition to the new frequency. We therefore need a method to determine the phase of the oscillation sequence given only the oscillator state variables. This article presents a precise method for determining the instantaneous phase of a DT sinusoid at any sample point and develops IC functions supporting constant-amplitude, phase-continuous frequency changes. These results are particularly applicable to the control of improved direct-form architectures (Hodes et al. 1999), which provide greatly enhanced frequency resolution on fixed-point hardware.

Independent control of amplitude, frequency, and phase of oscillation is now possible. A change in amplitude alone (while maintaining oscillation frequency) can be effected by reinitializing with appropriate ICs. However, a single multiplication of the output sequence by the amplitude variable is computationally more efficient than computing two IC values and is preferred in practice. The article begins by presenting a summary derivation of the relationship between the ICs and the amplitude, frequency, and phase of the synthesized sinusoid. [End Page 40]


Click for larger view
View full resolution
Figure 1.

The direct-form, second-order recursive digital oscillator. At n=0 the initial conditions y(-1) and y(-2) are placed in the z-1elements and replace a forcing function normally injected into the summing junction as the initiation mechanism.

The Direct-Form, Second-Order Recursive Oscillator

The direct-form, second-order recursive oscillator is characterized by the following difference equation (Abu-El-Haija and Al-Ibrahim 1986):

where θ ε (-π,π). The z-transform of Equation 1 is obtained by first observing that Z{y(n-1)} = z-1Y(z)y(-1) and Z{y(n-2)}z-2Y(z)z-1y(-1) + y(-2), where Z{x} denotes the z-transform of x, and y(-1) and y(-2) denotes the IC values (Orfanidis 1996). Using standard z-transform pairs (Carson 1998) and a little algebraic manipulation...

pdf

Share