Horn Loudspeaker Simulation
Many readers may be familiar with the free software Hornresp, which, given driver parameters and some geometrical parameters for the horn and cabinet, can simulate a wide variety of horn, direct radiator and bandpass systems. This may be enough for most people, while others (like me) are curious about the math and algorithms behind it
Simulating horns and horn loudspeakers has interested me for a long time. I found Hornresp back at the time when David McBean first made it available (around 2000 I think). At first you could only get the full functionality by paying a small fee, otherwise the throat area of the first segment was fixed. He later told me that he actually ended up giving the full version for free to those who asked, and if I had known that I'd probably started using it in earnest earlier. But my first midbass horns were designed using Hornresp (with the original limitation), as was my later horn subwoofer and other horns. But around 2005-2006 I got interested in horn theory and other methods of evaluating horn performance, like power factor (the cosine of the phase angle between resistance and reactance of the throat impedance). First I made a program that would read the data exported from Hornresp and plot the power factor. Later I started looking into wave fronts in horns, and combination of horn types (like multiple segment horns with Hypex segments), and for that I needed to write my own horn simulation software.
I first made contact with David McBean in 2004, and we started corresponding regularly, discussing many aspects of horn simulation. This was extremely helpful when I started writing my own horn simulator, and I can't thank David enough for making Hornresp available, and for guiding me through the rough terrain of horn simulation. Although he never showed me more than a couple of snippets of code, through discussion and references I was able to make things work and learn things from the ground up.
My horn simulator, HornCAD™, evolved into a complex program that could use the Mode Matching Method (MMM), simulate all types of segments, rectangular horn, and curved horns. It could use measured compression driver data, and export dxf files for CAD use. Thanks to the MMM, directivity simulations were quite accurate, and I used it extensively during my time at Celestion.
But since HornCAD™ was born as a tool to learn horn simulation and to explore various ways to simulate horns, it is full of unfinished functionality and bugs that are hard to track down due to the size of the code base. Therefore it has never been released to the general public. That may change in the future, though... But enough about my background as a horn simulator writer!
Simulation Basics
The point of this article is to give an introduction to horn loudspeaker simulation. While it may seem like black art for most people, it is more similar to electrical circuit simulation. So in this little series, I plan to explain how to implement a simple "Hornresp-ish" code in Octave/Matlab. It will of course not have all the bells and whistles of Hornresp, but will be able to simulate the power response, electrical impedance and diaphragm displacement of a basic horn loudspeaker.
Horn loudspeaker simulation typically consists of simulating:
- The radiation from the horn, especially radiation impedance, but also directivity.
- The horn itself: throat impedance as a function of mouth radiation impedance, and the output volume velocity as a function of the input volume velocity.
- The acoustical circuit apart from the horn: front and rear chambers, vents etc.
- How the loudspeaker driver behaves when connected to the acoustical load made up by the horn, chambers, vents etc and thereby the power delivered to the horn, the electrical input impedance of the system, diaphragm displacement etc.
We will cover all of this, but also things like simulating multiple segment horns, horns with special profiles like the tractrix, and maybe even look at tapped horns.
Glossary
The list above contains many words that may be unfamiliar, but if you want to learn horn simulation, you need to know what they mean. So here is a short glossary:
- Radiation impedance: When something vibrates with a certain velocity, it pushes the air, and the air pushes back with a certain force. The ratio of this force from the air to the velocity of vibration is the mechanical radiation impedance. In this analogy, force is analoguous to voltage and velocity to current, and just like voltage divided by current gives electrical impedance, force divided by velocity gives mechanical impedance.
- Volume velocity: velocity times area, cubic meters per second.
- Acoustical impedance: A similar analogy can be made in acoustics: with pressure analoguous to voltage and volume velocity analoguous to current, the ratio between them is acoustical impedance. It relates to mechanical impedance through the area of the vibrating surface (which may not be solid, but can be an imaginary surface, for instance the horn mouth). Mechanical impedance is acoustical impedance times area squared.
- Acoustical circuit: an analoguous circuit of acoustical components like ducts, horns and volumes. It can be drawn like an electrical schematic, and we can calculate its performance based on electrical circuit theory. This is a fundamental method for simulating electroacoustic systems.
Simulation: The Nitty Gritty Details
Here are links to the parts in the series (the links will go live as the parts are added):
- Part 1: Radiation and T-Matrix
- Part 2: Adding a driver
- Part 3: Multiple segments and more T-matrices
- Part 4: Other horn profiles and curved wave fronts
- Part 5: A simple tapped horn model
The Bass Transmission Index
Evaluating the accuracy of low frequency reproduction isn't as straightforward as one may think. There is talk about "fast bass", and PRAT (Pace, Rythm And Timing) is sometimes mentioned as a description. In such a discussion someone will invariably point out that a 20Hz sine wave isn't "fast", and that the issue of fast or slow bass is meaningless. It may seem that way using these simple arguments, until you experience accurate, detailed bass reproduction. But how do we quantify it? Obviously not by measuring the rise time of a 20Hz sine wave!
This is actually a very real problem. For the mix engineer, perhaps the biggest problem is how a loudspeaker with poor temporal response alters the perceived balance between rhythm section instruments like kick drum and bass guitar. Though not exclusively the case, loudspeakers with ported cabinets (bass reflex loading) are more likely to exhibit this type of problematic behaviour, due to the use of resonant elements to increase bass extension. An incorrect mix made on loudspeakers like this may not transfer well to other sound reproduction systems, and can't be corrected later during mastering, since the two instruments occupy the same part of the audio spectrum.
Lara Harris, Keith Holland and Philip Newell have done extensive work on quantifying bass reproduction accuracy, resulting in Lara's PhD work and the Bass Transmission Index (BTI). The BTI is an objective measure of a loudspeaker's ability to accurately reproduce low-frequency musical content. The metric aims to describe how well a loudspeaker reproduces the temporal envelope of a dynamic and harmonically-complex signal, something that cannot easily be evaluated from the usual frequency response (magnitude plots).
Like the STI (Speech Transmission Index), as used in speech intelligibility measurements, the BTI is based on a metric called the Modulation Transfer Function (MTF). MTF-based methods such as these pass an amplitude-modulated signal through the system, varying the rate of the temporal fluctuations across a range of values that are likely to feature in the real-world signals that the system will encounter. The preservation of modulation depth between input and output is used as an indicator of how well the system can reproduce these temporal variations. The figure below illustrates the concept, showing modulation depth for input (mi) and output (mo) signal envelopes.

The BTI evaluates the MTF in 10 frequency bands from 16-160Hz, with 7 modulation frequencies from 0.8-11.7Hz. The algorithm computes a matrix of modulation index scores between 0 and 1 for each combination of frequency band and modulation frequency. This grid of numbers can be used to calculate an overall average score, and is visualised as a grayscale intensity image where white = 1.00 (perfect reproduction). As a rule of thumb for interpreting these BTI intensity images:
- Inconsistent shading in the horizontal direction (left-right) indicates variation in the frequency response magnitude (this is variation across frequency bands).
- Inconsistent shading in the vertical direction (up-down) indicates variation in the faithfulness of envelope transmission (this is variation across modulation frequencies).
The figure below shows an example BTI intensity image and mean score for a bass-reflex studio monitor. Frequency bands (centre frequencies) are on the x-axis, and modulation frequencies on the y-axis.

Recently I have worked with Lara to make her BTI research code production ready, and it has now been officially made available on GitHub. It runs in Matlab and Octave (although not all the advanced options are available in Octave, and some requires certain Matlab tooboxes), and demonstrates a reference implementation. Here are the links:
BTI Toolbox on GitHub
Lara's LinkedIn post about BTI
My LinkedIn post about BTI
Big BenD Bass Horn: Driver Update
[Previous: Installation; Main]
This update is actually long overdue, and related to a project at Celestion I wasn't able to finish: a cone driver specifically designed for bass horns. It follows the ideas I outlined under My Approach to Bass Horn Design, and is a 12" driver designed for a compression ratio of about 1:2. As I wanted it to be easy for Celestion to put it into production, I used as many standard parts as possible, either directly or something that could be easily machined from standard parts. But I also added a feature that aren't easy to find in modern drivers: an underhung edge-wound voice coil.
Here are a some of the features of this driver:
- Underhung 3" edge-wound voice coil
- Copper sleve on pole piece
- Focused magnetic gap
- Low moving mass
- Vented pole piece and back plate
- 250W power handling
- Large ferrite magnet
- Inverted dustcap to allow for phase plugs if desired
And for those who worry about the high power rating being detrimental to other qualities important for horn speakers, rest assured: this power rating was a result of the voice coil size and venting, not of "beefing up" the driver (which typically makes the moving assembly lighter) to take higher temperatures and forces.
Here's a side view of the driver, without the front segments. It's built on a Celestion FTR chassis.

The magnet system:

The gap flux is slightly above 1Tesla, which is quite good for a gap this size. It takes a substantial amount of magnet to produce that, especially when you lose gap width to a copper cap.
Comparisons with old DIY driver
Below are a couple of photos comparing the new driver to a DIY project I used to begin with, referred to as 12" DIY driver in the performance measurements. The DIY driver used the motor system from a pair of Celestion NTR08-2009D 8" woofers I found in the bin. They had the cones cut out, but the motor was salvageable (even the voice coil), and I used them to build a pair of 12" drivers using available parts. I used the lightest 12" by 2" cones I could find, and a fairly soft spider. They turned out to be quite good, with the BL^2/Re being a good match for my bass horns. But the new drivers are more robust, and also give a very good performance and produces very clean bass in the Big BenD horns.


| Parameter |
Old DIY driver |
New driver |
| Re [Ohms] |
4.46 |
5.8 |
| Le [mH] |
0.065 |
0.086 |
| BL [N/A] |
12.3 |
17.0 |
| Mms [g] |
39.2 |
64.5 |
| Rms [Ns/m] |
3.4 |
0.63 |
| Cms [m/N] |
4.36e-4 |
1.88e-4
|
| |
|
|
Now I just hope Celestion will finialize this project and put the drivers into production, as I think this would be a good driver for bass and midbass horn use, especially for domestic use.
[Previous: Installation; Main]
Big BenD Bass Horn: Performance Measurements
[Previous: Belts and braces pt. 4; Main; Next: Installation]
With one horn finished, I took it outside to do some frequency response measurements. First thing to do is to measure the horn under conditions similar conditions to the simulations. This is a very important part of designing speakers, if you want to use simulation tools in the process. You need to verify that your simulation is correct, and if not, in what way. It is especially important if you are writing your own simulation software. I think people are getting better at it, but there have been many cases on DIYaudio of people complaining about their simulations being wrong, when the actual problem is that they have not simulated what they have actually built.
Corner
The actual condition of a horn built into an "infinite corner" (3 infinite baffles perpendicular to each other) isn't easy to achieve in practice. The best I could do was to use the walls of my house and garage:

And then put some extra sheets of plywood between the buildings to try to close the gap.

So, finally the first measurements, with and without baffles. The difference isn't huge, This may be because the garage is still close enough in terms of wavelengths to contribute to the baffle effect. (I'm not sure if the levels are actually correct, trying to do the calibration in ARTA gave some confusing results.)

So how well does this fit with the simulations? Actually pretty good, see below. The Response below 200Hz is almost spot on, the response at higher frequencies deviates, probably because of the simple model used for simulating the curving, and because I used a different driver than in the measurements.
What I'm quite happy with is that the curving approach worked as intended: there are no sharp dips and peaks or suckouts in the response, and it doesn't roll off until about 500Hz. This creates a nice overlap with the midrange horn. At the lower end, the response starts to fall off rapidly below 30Hz, which was the intended lower limit. The response is a bit uneven, but we'll see that this changes with a different driver.

Wall
The second test condition is in front of a wall. Neither of the two are fully representative of the operation conditions in actual use, but it will show the effect of placing the horn in front of, instead of flush with, a wall.

The effect of one missing side wall and the increased distance to the back wall is evident: a loss of level at low frequencies that was predicted by both the simulations and scale model measurements.

Driver Tests
The next measurements were done with REW as I found it easier to do a level calibration there than when using ARTA. Four different drivers were tested:
Altec 515-8G, a 15" driver built in a Celestion FTR-3070 chassis, A 12" guitar speaker, and a 12" high efficiency woofer built using various parts available. The results are shown below.
There is a clear difference between the drivers; the guitar speaker clearly fails and has a very peaky response (not all musical instrument drivers are suitable for bass horn use, even if Dr. Bruce Edgar had good results with EVM-12). The 15" drivers perform about the same. The best results comes from the 12" driver I built. This isn't actually very surprising, since it has the best impedance match with the horn of all the drivers.
The dips in the response at 483Hz and 870Hz are from standing waves in the empty rear chamber.

Distortion
Following is some distortion meausrements of the drivers tested. I measured at 95, 105 and 115dB SPL at a 2m distance. Only the results for 115dB (114dB for the 12" prototype) are shown.




The 15" drivers are quite similar in response, but the Altec clearly has lower distortion. The guitar driver has very high distortion (not surprisingly, since it has a stiff paper surround and only 1mm overhang on the voice coil), and is best left to what it was designed to do: create distortion for electric guitars.
The 12" DIY driver has the smoothest response, and while the distortion is slightly higher than the Altec, they are both quite at "sane" listening levels.


[Previous: Belts and braces pt. 4; Main; Next: Installation]
Big BenD Bass Horn: Mouth Section
[Previous: Belts and Braces, part 3; Main; Next: Belts and Braces, part 4]
The final (and largest) part of the horn is the mouth section with its bracing. The mouth section was designed to consist of mainly straight panels, with only the lower panel being curved.
Since the mouth section is quite big, I figured the best way to build it was by using the bracing and flanges as a jig. Below is the lower flange and the support for the rear of the mouth section. The two are spaced apart according to the design, and held in place temporarily by a couple of scrap pieces.

Then the lower braces are put in place and screwed to the throat flange and the lower mouth flange.

The extra support can now be removed, and the first layer of the lower wall can be fixed to the braces by nails and glue.

Two more layers of 6mm plywood are laminated onto the first.

Note the routed slit in the lower mouth flange. This is to make a proper and good looking termination for the laminated lower panel. By doing this carefully, there is no gap between the panel and the flange.

Side and top panels in place. Since the side panels flare outward, they have to be cut in a way that makes the top and bottom panels flush with the cut. See the Midrange Horn for one way to do it using a band saw. For this horn, I made a small jig to tilt the jig saw the right amount (equal to the angle of the side walls) when doing the cuts.

Side braces and a top brace are added and fixed using wooden dowels.

With the mouth section done, a support frame for the mouth bend was made. It is bolted to the outer braces of the mouth bend. 
And finally the horn can be assembled. Here is the first mock-up without using any bolts. The next stage now is to add braces to the mouth section, and the acoustic performance of the horn can be checked.

[Previous: Belts and Braces, part 3; Main; Next: Belts and Braces, part 4]