The Recursive Allpass as a Resonance FilterSkip other details (including permanent urls, DOI, citation information)
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License. Please contact email@example.com to use this work in a way not covered by the license. :
For more information, read Michigan Publishing's access and usage policy.
Page 00000001 The Recursive Alipass as a Resonance Filter Duane K. Wise Bould~er, Colorado USA dwise @ wholegrain-ds. corn ABSTRACT: Classical digital transformations of the unique design of the fourpole Moog filter typically result in a delay-free loop [Stilson96]. It is possible to implement a digital emulation of the Moog filter employing a recursive allpass for the resonant peak. This paper derives a first-order and a second-order resonance filter design. 1. M~otivation In [Stilson96], Stilson and Smith explain the Moog four-pole lowpass VCF (Voltage Controlled Filter) and explore methods of creating a digital version of the filter. The digital transformations they employ attempt to render a digital filter faithful to Moog' s analog filter design. A distinct feature of Moog' s VCF is a resonant peak at the lowpass cutoff frequency. This peak arises because of the phase response of a cascade of four matched first-order lowpasses enclosed in a negativefeedback loop. Bilinearly transforming the first-order lowpasses will match the phase profile that creates the resonant peak, but creates a delay-free loop, making the filter unrealizable. Figure 1 shows the frequency responses of the bilinearly transformed Moog VCF, which serve as the digital ideal. This paper attempts to implement the resonant peak of the Moog VCF using an allpass filter instead of a lowpass cascade. Using allpasses as embedded subfilters is nothing new. For example, reference [Smith82] embeds an allpass filter to create dynamic spectral notches. This design scheme takes the bilinearly transformed lowpass filters (tuned by the single parameter a) outside of the loop and cascades them with an allpass filter (denoted by A(z)) in a negative-feedback loop (with feedback gain k) for the resonance: H(z) = 1~-a( i!;<) j4 l+k A(z) (1) Though the Moog VCF is the specific application of this paper, the recursive allpass can serve as a generic resonator. The benefits of employing allpasses in applications include the numerical robustness of allpass filters and the variety of algorithms that can be used to implement the allpass, each with its own design advantages. dB dB 10~ 10 *cFs/2 *cFs/2 -10 -10 -20~ -20 -30' -30 Figure 1: frequency responses of bilinearly transformed Moog VCF lowpass 2. Derivation of Tuned First-Order Alipass First, to avoid the delay-free loop in the recursion, add a unit delay to the transfer function of the allpass filter:
Page 00000002 cz- + Z-2 A(z) = CZ(2) 1 +z-1 To calculate the appropriate value of the allpass parameter c, first determine the cutoff frequency of the digital lowpass filter in terms of its parameter a. (C = cos-1( 2 (3) 1 + a2 Employ this angle expression to find the unit-circle location of the cutoff point: z- = cos(wc) - j sin(wo) = - - a2) (4) 1 + a2 Plug this unit circle point into the allpass transfer function (2): -j+2a + c+a2(j+ ) (5) j + 2 a + c + a2 (-j + c) To tune the resonant point of the recursive allpass to the above cutoff frequency, solve equation (5) for c when (5) equals -1, which is the point where the filter phase allows resonance in a negative-feedback loop: 2a c = (6) 1 +a2 The transfer function of the embedded allpass is thus 2a -1 +Z-2 2a T 1+a2 z The allpass parameter c is not a trivial function of a, so an efficient implementation would store points of this function in a table. 3. Derivation of Tuned Second-Order Allpass A second-order allpass in a recursive loop allows for more control over the resonance Q. Start by adding a delay to a second-order allpass transfer function: c2 Z-1 + C1 Z-2 + Z-3 A(z) = - (8) 1 + c Z-1 + C2Z-2 Employ the cutoff frequency angle of equation (3) to find the unit-circle location of the cutoff point: (1 + j a) ((1 + a2)l - (-(- + a)2 + (j + a)2 C2))(9) (j + a) ((1 + a2) C - j ((j + a)2 - (-j + a)2 C2)) Tune the resonance to the cutoff frequency by solving (9) for -1: 1-4a+ a2 C2 = 1 2 -C (10) 1 + a2 The coefficients as yet cannot be completely specified. Add a design criterion for the derivative of the allpass phase at the cutoff frequency. The phase derivative at this point is
Page 00000003 3 + 4 cos(w) cl + c2 + 2 cos(2 L) C2 - C2 21(121) 1 + cI + 2 cos(2 w) C2 + C + 2 cos(w) cl (1 + c2) Substitute (10) into (11) and solve for the phase derivative equalling r/wc, which should modulate the bandwidth of the resulting resonance on the order of the desired peak frequency: 2(-2 a + (1 + a)2 Cos-l(a)) cI = ~ (12) (1 + a2) r The transfer function of the embedded second-order allpass is thus 1-4 a+a2 ) + C-2 +-3 A(z) = 1- - (13) 1 + c Z-1 +( +aa2 CI) Z where cl is as defined in (12). The principal weakness of this allpass is that it is unstable for a values between -1 and 0. This range of a maps to lowpass cutoff frequencies from half-Nyquist to Nyquist. So this system is still applicable if the highest cutoff frequency is one-half Nyquist or less, or if the overall signal processing architecture is oversampled by a factor of at least two. Another limitation of the second-order allpass is that it produces another resonance at Nyquist. However, cascading the recursive resonator with a filter having a zero at z = -1, such as the first-order lowpasses employed here, will defeat the resonance at Nyquist. The transfer function (13) can be implemented as a lattice or ladder filter using the following reflection coefficients. (1 + a2) 7 - 2(1 +a)2 cos-1( ) -2 a7+ (1 +a)2 cos-1( ) ko =, kl = (14) (1 + a2) (1 + a2) - (1 + a)2 COS-l( ) 4. Performance of Resonant Systems Figure 2 shows frequency responses of the filter of transfer function (1) using the first-order allpass (7) as parameters a and k vary. The first-order resonator peaks are of wider bandwidth than the model goal, and the peaks are not at a constant level over the frequency range. Figure 3 shows frequency responses of the filter of transfer function (1) using the second-order allpass (13) as parameters a and k vary. The second-order resonator performs much closer to the goal than the first-order resonator. The Q of a filter pole gauges the resonance produced by the pole. Employing the Q definition in [Stilson96], Figure 4 shows Q for both first-order and second-order systems as a function of a and k. The first-order plot reveals the principal weakness of the first-order allpass resonance design, that the Q is not only undefined for a broad range of the filter parameters (that is, the effective poles are real, thus the Q value is zero), but difficult to tune to the parameters for the desired effect. The second-order plot shows an almost direct mapping of k to resonance Q. Thus the second-order system parameters a and k are virtually orthogonal controls for cutoff frequency and resonance Q. 5. Conclusion This paper presents designs for resonant lowpass filters based on allpass subfilters in a negative-feedback loop. The resonant filters are applied to a digital simulation of the Moog lowpass VCF. The second-order allpass resonant filter possesses attractive Q properties, with the Q determined mostly by a single parameter.
Page 00000004 dB dB 10 -10 -20 -30 10 *cFs/2 0.4 0.6 0.8 1 *Fs/2 -10 -20 -30 Figure 2: frequency responses of lowpass with first-order recursive allpass *Fs/2 dB 10 0.4 0.6 0.8 1.Fs/2 -10 -20 -30 dB 10 -10 -20 -30 S.6 *Fs/2 Figure 3: frequency responses of lowpass with second-order recursive allpass 15 15 0 0.2..2 a 0.5 a 08 Figure 4: Q of first-order (left) and second-order recursive allpass as a function of lowpass coefficient and feedback level 6. Acknowledgments The author wishes to thank Julius Smith and Robert Maher for their assistance. The plots are calculated and rendered, and this paper is written, with Mathematica version 3.0 (Wolfram Research, Inc.; 1996). 7. References [Smith82] Julius O. Smith, "An Allpass Approach to Digital Phasing and Flanging," Center for Computer Research in Music and Acoustics, Stanford University, Report number STAN-M-21, 1982. [Stilson96] Tim Stilson and Julius Smith, "Analyzing the Moog VCF with Considerations for Digital Implementation", http://www-ccrma.stanford.edu/-stilti/papers/moogvcf.pdf, 1996.