- Details
- Written by Bjørn Kolbrek
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 measurements made it obvious what the problem was: the output fell below 70Hz, and apart from a peak at 50Hz, the response was more like a midbass horn than a 30Hz bass horn. What was going on? 

















