# Vented-Box Loudspeaker Design: Conventional and Assisted Alignments of Arbitrary Order and Box Quality Factor

## Introduction

This article discusses the mathematics and some new algorithms for the design of vented-box (AKA "bass reflex") loudspeakers using Thiele/Small parameters, along with specific software implementations. It has three related goals. The first is to present an algorithm that provides a more flexible way to design a vented-box loudspeaker for a given driver than the techniques specified in the classic vented-box design literature. In [1], Small presents nomographs that he calls "alignment charts" which facilitate the design process. The designer first estimates the value of the box quality factor Q_{L} and picks the closest available value from a small collection of discrete Q_{L} values. This choice determines which alignment chart to use. Then, using the appropriate alignment chart, the designer locates the value of the driver's total quality factor Q_{T} and reads the necessary design parameters from the graph. This graphical technique is prone to inaccuracy and is made more difficult than necessary by the small size of the charts. In [2], equations (67) - (70), Small provides the equations and algorithm necessary to generate the data for the alignment charts, but that algorithm is awkward for software implementation because it requires specifying the box quality factor Q_{L} and an *alignment*, and the driver quality factor Q_{T} ends up being an *output* of the process. Small's procedure thus treats the alignment as an independent variable and the driver Q_{T} as a dependent variable. This reverses the roles of these two variables relative to what's needed for design with a given driver, making the driver Q_{T} an independent variable and the alignment a dependent one.

When designing for a given driver, it is the driver total quality factor Q_{T} that is known and the alignment that is unknown - the opposite of how the alignment chart data are computed. When the desired alignment is constrained to be one of the "classic" alignments (Butterworth, Chebyshev and so on), the alignment cannot be chosen arbitrarily; rather, one must determine the alignment that fits the combination of driver and box quality factors Q_{T} and Q_{L} respectively. A very good solution to this problem is the collection of design tables provided in Bullock [3]. These tables are provided for the same discrete set of Q_{L} values used by Small, one table for each discrete Q_{L} value. They list a collection of driver Q_{T} values in increments of 0.01 and allow the designer to pick Q_{T} and determine the remaining design parameters. This is very good for manual design purposes, but is also awkward to implement in software. Bullock also provides some closed-form expressions for determining the design parameters of the box given Q_{T} and Q_{L}, but these are apparently done by approximate curve-fitting of his table data, not by analytical solution. Bullock himself recommends using the tables instead to obtain the most accurate results. Since his formulas and tables are different for each Q_{L} value, if it's desired to allow the designer to specify any box quality factor in a continuum within the range of expected values, an infinite number of such tables or formulas would be required. Since the box quality factor is not accurately known in advance anyway, one could argue that this restriction is probably not a significant problem in practice, as one could simply use the alignment table having a box quality factor closest to the anticipated value.

However, Bullock also describes an interesting iterative approach to achieve a design with the promise of closer matching of actual and calculated alignment than would generally occur with only a single design iteration. Bullock's approach involves first measuring the driver parameters on fixtures dedicated to that purpose. Then the vented box is designed and built using the measured driver parameters and a "best guess" value for box Q, with an actual volume somewhat larger than calculated. The driver parameters are then remeasured in the newly-built box to take into account differences in acoustical mass loading between the dedicated fixtures and the actual box. Also, the actual box Q is measured. Then, using the newly-measured driver parameters and measured box Q, a new box is designed. Since this procedure uses the actual measured box Q of the first iteration as design input for the second, it's desirable to allow this exact box Q to be specified, rather than being constrained to discrete values. Although this process seems impractical, it would be easier with a sonosub (subwoofer made from a sonotube), because the existing tube could be retained and simply cut shorter from the top for the second iteration. The algorithm described here allows the designer to pick arbitrary driver and box quality factors, determines the classic alignment that fits the given combination in a direct and efficient way, then computes the remainder of the parameters needed for the design. A Matlab implementation of the algorithm is provided, and its results are verified using SPICE simulations following the approach of Leach [4]. The Matlab code has also been verified to work under the free Matlab workalike *GNU Octave*.

Secondly, for the Butterworth, Chebyshev and Sub-Chebyshev alignments, the technique is generalized to assisted alignments of order n > 4. Assisted alignments were first introduced by Thiele ([5], [6]), who also introduced the notion of an *alignment class* for assisted alignments of order 6. Thiele's work assumed the box was lossless (infinite Q_{L}). Small [1] introduced the box loss Q_{L}, but did not discuss assisted alignments. Benson [7] derived equations for the synthesis of fifth- and sixth-order alignments taking Q_{L} into account, covering the Chebyshev, Butterworth and sub-Chebyshev alignments. Additional information on the fifth- and sixth-order alignments for lossy boxes was introduced by Bywater and Wiebell [8]. The papers by Benson and by Bywater and Wiebell reformulate the problem anew each time the system order is changed, provide data only for discrete values of Q_{L}, and treat the alignment as an input to the algorithm, with the driver Q_{T} treated as the algorithm's output. By contrast, the article herein formulates the problem in a unified way for all system orders and is usable for any desired order. The designer can specify any Q_{L} they wish (within "legal" limits), and Q_{T} is treated as an input to the algorithm, consistent with the goal of design for a given driver. The output of the algorithm is the alignment chosen from the family of Chebyshev, Butterworth and sub-Chebyshev. Given this constraint, said alignment is unique to the combination of Q_{T} and Q_{L} and other parameters provided by the designer as needed (system order and alignment class).

The generalized approach is made possible by closed-form expressions for the poles of the Chebyshev, Butterworth and sub-Chebyshev transfer function types for any order n. Unfortunately, no closed-form expressions for the poles of the quasi-Butterworth transfer functions of order n > 4 are known at this time, so the design of quasi-Butterworth vented-box systems is limited in this article to the unassisted case for which n = 4. Normal unassisted alignments are treated as a special case, allowing the designer to specify a preference for either a quasi-Butterworth or sub-Chebyshev alignment when the particular combination of Q_{T} and Q_{L} provided as input fits that alignment category.

For assisted alignments of order greater than seven, Thiele's concept of *alignment class* must be extended from a single integer as originated by Thiele to a collection of integers specifying how the system poles are partitioned between the transfer functions of the loudspeaker and the external high-pass filters. A simple expression for the number of possible classes for any alignment order is found, and six design examples are given in which the extended concept of alignment class is used.

Finally, the discussion of assisted alignments leads naturally to an exploration of the impact of high-pass filters on vented-box system performance. It's well known that below the box tuning frequency, the driver displacement increases to an extent that a high-pass filter is required in critical applications to prevent the driver's maximum displacement from being exceeded. In doing so, it is of course desirable to still maintain the deepest bass response possible, especially in subwoofer applications. This might be done using assisted alignments, or an add-on high-pass filter might be used with a system designed in the normal way as an unassisted alignment. It is natural to wonder how the assisted alignments compare with add-on filters in this regard. Is it better to start out trying to achieve the flattest possible overall system response by integrating the high-pass filter into the synthesis process as is done with the assisted alignments, or to retrofit a filter to an existing design on the basis of the resulting curve of cone displacement vs. frequency? If an ad hoc filter is retrofitted, might there be some filter type not previously considered that gives a more optimum system performance for a given filter order than, say, a Butterworth high-pass filter? These and other questions will be explored in this article.

## Overall Approach

Definitions of terms related to driver and box parameters are provided in [1] and not repeated here. An understanding of Thiele's and Small's work on vented-box design and analysis is needed in order to understand this article. Small's analysis and synthesis use the acoustical analogous circuit shown below in Figure 1.

Small [1] lumps all the box-related losses into R_{AL} above and associates those losses with the box quality factor Q_{L}. His system transfer function includes the effects of Q_{L}, while Thiele's transfer function is derived under the assumption of a lossless box. Therefore it's necessary to refer to Small [1] to obtain transfer function coefficients consistent with those of this article.

In the analysis leading to this approach, a simple closed-form relationship is first derived which, for a given box quality factor Q_{L}, system order n, and an alignment class specification (only needed for assisted alignments when n > 5), allows the computation of the total driver quality factor required for a Butterworth alignment, denoted by Q_{TB}. As shown by Small [1], realizable alignments include Chebyshev when the total driver quality factor Q_{T} > Q_{TB} and quasi-Butterworth or sub-Chebyshev when Q_{T} < Q_{TB}. Once the alignment type is determined based on the value of Q_{T} relative to Q_{TB}, an algorithm specific to that alignment type can be used to find all required design parameters. For this article, quasi-Butterworth alignments are only considered for conventional non-assisted systems with n = 4 due to considerations mentioned previously.

The procedure for determining the required design parameters differs somewhat from earlier work. In the analysis provided here, it's shown that the simultaneous nonlinear design equations that arise in the synthesis can be combined into a single nonlinear equation in one real-valued unknown, the specifics of which depend on the alignment. Such an equation is easily solved with a conventional numerical root-finding algorithm. Then the transfer function coefficients and all the other required design parameters can be computed from the resulting root of this equation. This eliminates the need for interpolation of a table or graph and leads to a convenient software implementation.

## About the Software Used for Synthesis and Analysis

In order to test the design equations derived here, as well as explore potential designs, several pieces of software were used.

- Matlab functions were used for implementing the design equations described herein, as well as for computing the box volume and tuning frequency, and the parameters of external filters when the system being designed is filter-assisted.
- 14 Matlab scripts were written, one for each of 14 box designs that were explored. These scripts call the Matlab functions mentioned above.
- SPICE was used to simulate the systems designed with the Matlab functions and scripts.

Since Matlab is expensive software, I installed the freeware Matlab workalike *GNU Octave* and modified the Matlab functions slightly so that Matlab and Octave produced the same answers within the available numerical precision of the root-finding algorithm used. The source code of all the Matlab functions is provided, as well as the source for the 14 Matlab scripts used for the designs.

The freeware LTspice from Linear Technology was used for the SPICE simulations. I've provided 18 different SPICE simulation files. There are 14 different box designs, and the box designed as an unassisted alignment is simulated both without an external high-pass filter, and with four different types of high-pass filter.

In this way, all the results can be checked and further exploration performed without having to pay for any software.