Alignments Used Only for Fourth-Order Systems
The Quasi-Butterworth Alignment
For a fourth-order system, the quasi-Butterworth (QB3) alignment is described in terms of the squared magnitude of its transfer function, |G(jω)|2 as below ([2], equations (65) and (66)).
(34) |
Setting s = jω in (1), computing the squared magnitude and equating coefficients gives:
(35) | |
(36) | |
(37) |
From (35) and (36),
(38) | |
(39) |
Substituting (38) and (39) into (26) gives the following equation.
(40) |
Although (40) above demonstrates that a single nonlinear equation in one unknown can be found, its software implementation would result in inefficient code due to similar calculations being repeated unnecessarily. A simpler and faster code implementation could be used, in which the left-hand side of (40) is represented as a function taking a2 as argument. This function would first compute a1 and a3 from a2 using (38) and (39) respectively, then compute the square root of h from (24) and substitute these quantities into (22), (23) or (25). That is the approach taken in the Matlab/Octave code provided here. Thus a2 is found using numerical root-finding in the quasi-Butterworth case. After a2 is found, a1 and a3 can be computed using (38) and (39) respectively. Then h and α can be found from (27) and (28) respectively, while T0 can be calculated from (14) and (24). Following Small ([2], equations (59) - (62)), the -3dB frequency f3 is given by:
(41) |
where the square root of h is given by (24), and d is the largest positive real root of
(42) |
and B2 is given by (37) above.
Butterworth and Chebyshev Alignments for nth-Order Systems
General Considerations - The Butterworth Pole Angles
The alignments suitable for automated design of assisted nth-order systems all share the common property of having explicit expressions for the poles of their normalized low-pass prototype filter. The closed-form expressions for the poles can be written as functions of the Butterworth pole angles. For the purpose of this article, the Butterworth pole angles will be defined as the angles with respect to the negative real axis of the second-quadrant complex poles of the normalized low-pass Butterworth prototype filter of a given order n. The two Butterworth poles closest the negative real axis are illustrated in Figure 2. All poles for both even and odd n have angular separation of π / n radians. For even n, the pole closest to the negative real axis has an angle of π / 2n radians, while for odd n, this angle is π / n radians. This allows for easy automated generation of the sequences of Butterworth pole angles for any n. Here are some examples.
(43) | n = 4: | |
(44) | n = 6: | |
(45) | n = 8: | |
(46) | n = 5: | |
(47) | n = 7: | |
(48) | n = 9: |
For a given order n, two Butterworth pole angles, denoted by θa and θb, are chosen from the list. Then QL is chosen, and the value of QTB (the required value of QT that yields a Butterworth alignment) is computed from (19). The value of QT relative to QTB determines which alignment is to be used as has been previously described. If we assume that by convention θa < θb, then for n = 4 and n = 5, only one choice of θa and θb is possible. For n = 6 and n = 7, Thiele's notion of alignment class can be used to determine which of the Butterworth pole angles are assigned to θa and θb. For n > 7, Thiele's alignment class idea must be extended to allow a complete specification of the partitioning of the poles between the loudspeaker and the external filter. In any event, it's assumed that θa and θb are known, either by virtue of the system order being less than 6 or by the appropriate alignment class having been chosen by the user when the system order is 6 or greater.
The Butterworth Alignment
For the Butterworth alignment, it's not necessary to solve any nonlinear equations for the design parameters. A closed-form solution exists, as equation (11) shows that a1 = a3 for all quartic factors of Butterworth transfer functions of order n. Equating the right-hand sides of (15) and (17) gives h = 1. Plugging (13) into (28) with h = 1 gives:
(49) |
To find the -3dB frequency of the Butterworth alignment for nth-order systems, one can go back to the definition of the squared magnitude of the normalized low-pass Butterworth filter, shown below (Weinberg [9]).
(50) |
By inspection, the -3dB frequency of (50) is seen to be ω = 1. The transfer function HLP(s) corresponding to |HLP(jω)|2 above is of the form (Weinberg [9]):
(51) |
In (2), the denominator polynomial of GLP(s) is any quartic factor of the nth-order Butterworth polynomial, including the polynomial itself if n = 4. Now Ω = 1 is the -3dB frequency of the nth-order normalized low-pass function HLP(s) of (51), and the development of (3) - (13) shows that T1 = 1. Setting Ω = 1 and T1 = 1 in (33), we obtain the -3dB radian frequency ω3 of the overall nth-order system high-pass function of loudspeaker plus external high-pass filters as follows:
(52) |
Combining (52) with (14), setting h = 1 and converting to Hz gives:
(53) |
Notice that f3 is the -3dB frequency of the overall system, and in general is not the same as the -3dB frequency of the loudspeaker itself unless it's an unassisted alignment with n = 4. For all Butterworth alignments of any order, the overall system -3dB frequency is therefore equal to the free-air resonant frequency of the driver.
The Chebyshev Alignment
The squared magnitude of the normalized low-pass prototype Chebyshev transfer function of order n is normally written as (Weinberg [9]):
(54) |
Where Tn(ω) is the polynomial given by:
(55) |
Tn(ω) has the property that for ω = 0:
(56) |
It would be useful to find a closed-form expression for the -3dB frequency of (54) to allow the result to be combined with a frequency transformation similar to what was done in the Butterworth case. This would in turn allow computation of the overall system -3dB frequency of any nth-order assisted Chebyshev alignment. However, the standard convention of the loudspeaker literature is to express the system transfer function as having a gain of 1 at "infinite" frequency, with the -3dB frequency defined as that frequency for which the magnitude of the transfer function is 3dB down from its value at infinite frequency. Following this convention requires specifying the low-pass prototype in such a way that its dc gain is 1. Because Tn(0) is different for even and odd n, satisfying the requirement for a dc gain of 1 requires expressing the squared magnitude of the normalized low-pass Chebyshev transfer function of order n as follows:
(57) |
The equal-ripple region of the Chebyshev polynomials is 0 ≤ ω ≤ 1. However, the -3dB frequency of the normalized Chebyshev low-pass filters is in the region ω > 1, unless the ripple is 3dB or more. This causes problems when computing the -3dB frequency when cos-1(ω) in (55) is calculated for ω > 1. This can be fixed by using an alternate form of (55) given by Su [10] and repeated below.
(58) |
Setting |HLP(jω)|2 = 1/2 in (57) and using the expression for Tn(ω) with ω > 1 in (58), the -3dB radian frequency ω3 of the normalized low-pass Chebyshev filter is found to be:
(59) |
To determine the -3dB frequency for the denormalized high-pass case, frequency scaling and frequency transformations must be used. The development of the appropriate scale factors for the frequency scaling is made more complex than the Butterworth case because the normalized low-pass poles are not on a unit circle. The frequency scale factors will be derived as a byproduct of the system synthesis, to be explained next.
The poles svC of the normalized Chebyshev transfer functions whose squared magnitude respose is given in (57) are given by (Weinberg [9]):
(60) |
where
(61) |
By comparison, the poles svB of the normalized Butterworth low-pass transfer function are given by (Weinberg [9]):
(62) |
In Thiele [5], the poles of the Chebyshev transfer functions are described as being derived from the Butterworth poles by multiplying the real parts of the latter by a constant k < 1. But comparing (60) and (62) shows that the imaginary parts are not equal, so (60) and (62) do not meet Thiele's specification. To see how to fix that problem, let's look at what happens to an all-pole transfer function (one whose numerator is a constant) when we multiply all its poles by the same real-valued constant. Consider the denominator D(s) of such an all-pole transfer function to be an nth-order polynomial with zeros at s1, s2, ... sn. We can create D(s) within a multiplicative constant from its roots as follows.
(63) |
Then we multiply all the roots of D(s) by the real-valued constant μ and form a new polynomial Ds(s) from these scaled roots. This gives the result:
(64) |
We can conclude that multiplying all the poles of an all-pole transfer function F(s) by the same real-valued constant μ is equivalent to transforming F(s) into F(s / μ), provided the constant of the numerator of the result is adjusted if necessary to preserve the original gain of F(s) after the transformation. Stated more simply, scaling the poles in this way is equivalent to simple frequency scaling. We are therefore free to scale the real and imaginary parts of the Chebyshev poles of (60) such that the imaginary parts of the scaled poles match the Butterworth imaginary parts in (62), with the only consequence being a frequency scaling that we'll need to take into account when the -3dB frequency is computed.
The value of μ required to equalize the imaginary parts of the normalized Chebyshev and Butterworth poles of (60) and (62) respectively is easily seen to be:
(65) |
Then the Chebyshev poles adjusted in accordance with Thiele can be written:
(66) |
where
(67) |
We have just shown that scaling the Chebyshev poles from their values given by the classic Chebyshev pole expression of (60) to the form compatible with the analysis of Thiele and Small given by (66) and (67) is equivalent to frequency scaling by the factor μ, whose value is given by (65). This requires that the -3dB frequency be recomputed with the new normalization. It follows from (57) and (64) that the new expression for |HLP(jω)|2 is:
(68) |
Setting |HLP(jω)|2 of (68) equal to 1/2 gives the following expression for the -3dB radian frequency ω3LP of the normalized lowpass prototype filter:
(69) |
In addition to the above frequency scaling of the normalized low-pass prototype, a final low-pass to high-pass transformation is performed to obtain the denormalized high-pass system transfer function from the normalized low-pass transfer function. The development of (30) - (33) shows how to compute any frequency of the denormalized high-pass transfer function from the corresponding frequency of the normalized low-pass transfer function. The result was given in (33). Using (33) and (69), the system -3dB frequency can be found. It should be reiterated that for assisted alignments (n > 4) this includes the effects of all external electrical filters. Using these results, the system -3dB radian frequency ω3 is given by:
(70) |
Our goal is to find a single nonlinear equation in the single unknown k of (66) and (67), allowing k to be found. It will be shown that once k is found, all information needed to design the system is known, including the variables on the right-hand side of (70), allowing the system -3dB frequency to be computed.
The expression for the poles in (66) looks unusual because the real parts contain a sin expression and the imaginary parts contain a cos expression, a reversal both from usual conventions and our earlier look at the Butterworth poles beginning with (5). This can be easily changed with two trig identities to yield:
(71) |
When k = 1 in (71), svC are the Butterworth poles. Since they are in the left-half plane and the term corresponding to the real part of svC involves a negative cos, it's clear that the arguments of sin and cos in (71) are angles relative to the negative real axis, corresponding to the development of the Butterworth pole angles herein beginning with Figure 2 and enumerated for some specific values of n in (43) - (48). The arguments of sin and cos in (71) are all n Butterworth pole angles, while the expressions for the Butterworth pole angles developed herein are only for the complex poles located in the second quadrant, which number n / 2 for even n and (n-1) / 2 for odd n. A subset consisting of two unique pole angles from the larger set of Butterworth pole angles, combined with the k value of the Chebyshev poles, are all that's needed to form the fourth-order transfer function of the loudspeaker itself. As before, let's call these two Butterworth pole angles θa and θb, and compute the quartic polynomial corresponding to the normalized low-pass prototype of the transfer function of the loudspeaker itself.
Let
(72) |
and
(73) |
Now we find the denominator D(s) of the normalized low-pass prototype of the loudspeaker transfer function as follows:
(74) |
Performing the algebra gives:
(75) |
where
(76) |
Now GLP(s) of (2) can be written as:
(77) |
However, this needs to be put in the original form of (2), repeated below for clarity.
(78) |
So we must solve for a1, a2, a3 and T1 in terms of A0, A1, A2 and A3. This gives the following results:
(79) | |
Substituting (75) into (79) we get:
(80) | |
(81) | |
(82) | |
(83) |
where A through H are given by (76). Since θa and θb are known, A through H are also known. We therefore know a1, a2, a3 and T1 in terms of a single variable k, and this knowledge allows the solution for k to be found using the approach described earlier. Once k is found, the ripple in dB can be computed. Solving (67) for ε gives:
(84) |
and the ripple in dB, denoted by εdB, is given by:
(85) |
The Sub-Chebyshev Alignment
The sub-Chebyshev alignments are defined strictly in terms of the poles of HLP(s). Specifically, the same expression for the ordinary Chebyshev poles in (71) is used with the constraint that k > 1 for the sub-Chebyshev case. This is in contrast to the normal Chebyshev case for which k < 1 and the Butterworth case for which k = 1.
One might wonder if there is some general closed-form expression for |HLP(jω)|2 for the sub-Chebyshev alignment analogous to the Chebyshev case described in (68). Unfortunately, no such general expression is known at this time. This is a disappointing state of affairs, as such an expression would allow a thorough analysis of the magnitude response of this family of transfer functions. However, if QT is close to QTB, the poles of a sub-Chebyshev alignment will be close to the Butterworth poles, so one would expect the magnitude response to be reasonably flat.
Design Approach for Chebyshev, Butterworth, and Sub-Chebyshev Alignments
We are now in a position to do a complete system design for an unassisted Chebyshev, Butterworth, or sub-Chebyshev alignment (n = 4), or the loudspeaker portion of an assisted alignment of one of these types for any order n. The first step is to choose the system order and pick two θ values using e.g. the sample lists of (43) - (48), designating the two chosen angles as θa and θb. For n = 4, the only possible values for θa and θb are π / 8 and 3π / 8. Then the constants A through H can be computed using (76). Once A through H are found, a1, a2 and a3 are known as a function of one variable, k. Since QL and QT are known, substituting the expressions of (81) and (83) for a1 and a3 respectively into (26) gives a single nonlinear equation in one unknown, k, allowing k to be easily computed using conventional numerical root-finding techniques. As was previously done in the Quasi-Butterworth case, repeated calculation of some common subexpressions is avoided by taking a slightly different approach. That approach involves first computing a1 and a3 from (81) and (83) respectively, then computing the square root of h from (24), then substituting the results into (25) to solve for k. Once k has been found, a1, a2 and a3 can be computed using (81), (82) and (83) respectively. This allows h and α to be calculated using (27) and (28) respectively. Computations of the values of h and α are all that's needed to design the box, but for assisted alignments, further computations (to be described in a later section) are needed to design the electrical filters.
Other Possible Alignments for nth-Order Systems
General Considerations: Finding the Poles from the Magnitude Response
The classic approach to filter design relies on starting with a normalized low-pass prototype filter having a squared magnitude response |HLP(jω)|2 with certain desirable characteristics, then performing a frequency transformation with frequency scaling to obtain the final filter design. But in order to have a realizable design, one must first obtain the transfer function HLP(s) from |HLP(jω)|2. This is done by first observing:
(86) |
where "star" denotes complex conjugate. Since the transfer functions involved are just rational functions of the complex frequency variable s, they have Hermitian symmetry (Weinberg [9]), so the real part of HLP(jω) is an even function of frequency, and its imaginary part is an odd function of frequency. Therefore the conjugate of HLP(jω) is the same as HLP(-jω). This leads to the result:
(87) |
Since |HLP(jω)|2 is an even function of frequency, it can be expressed as a function of ω2. Also, since s = jω, we have ω2 = -s2. For all-pole low-pass filters, the standard approach to finding the poles is to replace ω2 by -s2 in the squared magnitude response, then set the denominator of the resulting expression to zero. One hopes to find a closed-form expression for the resulting 2n roots, half of which will be in the right-half plane and can be discarded because they are associated with HLP(-s) in (87). This technique is most easily illustrated with the Butterworth transfer functions, whose squared magnitude response for order n can be written as:
(88) |
Setting ω2 = -s2 in (88) gives:
(89) |
Setting the denominator of (89) to zero gives:
(90) |
Therefore, for the Butterworth transfer functions, the poles of HLP(s)HLP(-s) are the 2nth roots of (-1)n+1. This is just a variation of the well-known "mth roots of unity" problem from complex variable theory, in which the m roots lie on the unit circle, with a uniform angular displacement of 2π / m from one another [11]. Since m = 2n, the angular displacement between the Butterworth poles is π / n as previously noted. Formal solution for the poles in the left-half plane results in the formula given by (62) (Weinberg [9]). A similar but more complex procedure is followed to obtain the poles of the Chebyshev transfer functions as given in (60).
Since obtaining a Butterworth response requires that QT = QTB, a deviation from the Butterworth response is usually required with real-world drivers. When QT > QTB, a Chebyshev response is possible. For drivers whose QT is not far from QTB, this introduces only a small amount of ripple in the response. But as Thiele [5] states, "...a considerable change in alignment occurs before the ripples become serious in magnitude. For our purpose here, the Chebyshev responses provide a means of carrying the useful response of the speaker plus box combination well below the speaker resonant frequency fs (which is also cutoff frequency f0 in the Butterworth cases)". Assuming the goal is to get as deep a bass response as possible, the ability to use a Chebyshev response when QT > QTB is a very useful feature as Thiele states.
The General Case of the Quasi-Butterworth Alignment: Are nth-Order Alignments Practical?
When QT < QTB and assisted alignments are considered, several practical concerns with the synthesis process manifest themselves. To illustrate these concerns, let's revisit the Butterworth alignment and look at the properties of |HLP(jω)|2 of (50). Per Weinberg [9], we'll examine a truncated version of the Maclaurin series expansion of (50). This is most easily obtained by simple long division, writing the denominator of (50) in ascending powers of ω and simply dividing it into the numerator. As a specific example, take n = 4 in (50). We obtain:
(91) |
Except for the constant term, all terms in (91) having powers of ω less than 8 are zero. Stated another way, the first 7 derivatives of the function at ω = 0 are zero. For the generalized case of order n, the first 2n - 1 derivatives of the function at ω = 0 are zero. That is the definition of maximal flatness as given in Weinberg [9].
However, the Butterworth filter has no adjustable parameter as the Chebyshev has, so a Butterworth loudspeaker alignment of a given order, QL value and class can only accommodate one discrete value of QT. To get an adjustable parameter, one might use a quasi-Butterworth alignment. Let's first look at the normalized low-pass prototype of the fourth-order quasi-Butterworth alignment, whose squared magnitude is given by |GLP(jω)|2. We do that with a frequency transformation that replaces ωT0 with 1/ω in (34). We obtain:
(92) |
For the truncated Maclaurin series, we get:
(93) |
We can see the first 5 derivatives of |GLP(jω)|2 are zero at ω = 0. Generalizing this to order n, we have:
(94) |
We might refer to |HLP(jω)|2 of (94) as being "quasi-maximally flat", since it can be seen that its first 2n - 3 derivatives are zero at ω = 0. In return for the function not being maximally flat as the Butterworth function is, we get the parameter B which can be adjusted to allow for varying QT when QT < QTB.
The next logical step would be to find the poles of HLP(s). As described previously, we can can find the poles of HLP(s)HLP(-s) by setting ω2 = -s2 in |HLP(jω)|2 and setting the denominator to zero. This results in:
(95) |
There does not appear to be any way to find a closed-form solution for the roots in (95). If B were known, it would be possible to find the roots with a numerical algorithm. But for a given QT, QL, n and alignment class, it's necessary to find the unique value of B that fits. The fact that B is not known in advance greatly complicates the solution of the problem. For these reasons, the synthesis of quasi-Butterworth alignments is limited here to the unassisted case of n = 4. The very useful special case of the quasi-Butterworth alignment for n = 6 has been solved by Kreutz and Panzer [12]. Their technique requires specifying QL and a characteristic parameter that determines both the alignment and the alignment class simultaneously, from which QT is then computed. This technique shares no algorithm with the techniques described herein, and is specific to n = 6, so the reader is referred to [12] for their approach.
The Necessary Compromise to Allow Practical Solutions for the General Case
When trying to determine a general solution for arbitrary n, the situation for which QT < QTB is troublesome. For the quasi-Butterworth case, a closed-form expression for |HLP(jω)|2 is known, but a general way of finding the system poles corresponding to a given QT, QL, n and system class does not seem to be possible. On the other hand, the sub-Chebyshev alignment has a convenient closed-form expression for the poles, but no known closed-form expression for |HLP(jω)|2.
In its most general form, the formulation of the procedure described herein for which QT is an input to the algorithm and the alignment is an output requires a closed-form expression for the poles of the system transfer function. For this reason, for n > 4 and QT < QTB, the sub-Chebyshev alignment will be used. However, for the important special case of n = 4 and QT < QTB, the desirable property that QT be an input to the algorithm and the alignment an output is still achieved via the special-case algorithm for the quasi-Butterworth alignment described earlier. For n = 4 and QT < QTB, the quasi-Butterworth alignment is recommended due to its improved frequency response flatness relative to the sub-Chebyshev alignment.
The implications of this design algorithm can be summarized below.
- For n = 4 and QT < QTB, the quasi-Butterworth alignment is recommended, but the sub-Chebyshev alignment can also be used.
- For n > 4 and QT < QTB, the sub-Chebyshev alignment must be used.