Counting the Watts: Radiated Power in a Coupled Loudspeaker Model

I am still working on Huygens, my loudspeaker design software. Underneath it, the cabinet is solved with boundary elements (BEM), and each way's load (the box, the port, a passive radiator, a cardioid's slots) is a network of lumped elements. The two are coupled both ways: the network decides how the radiators move, and the BEM tells the network how the air pushes back. Each way is solved on its own, the rest of the cabinet held still, and the ways are added through their filters afterwards. Within a way, at each frequency, the BEM solves the cabinet once for all of that way's radiators (the cone, its port, its slots) and returns the pressure each puts on itself and on the others.

This article is about one small detail of that coupling, the power the speaker radiates. It sounds like the easiest quantity of all. It turned out to be wrong in exactly the places where it matters most.

The boundary element mesh of a cardioid loudspeaker in Huygens, 2608 triangles, coloured by the sound level on its surface at 88 Hz

One formula

Each radiator \(j\) (the cone, a port, a slot) moves air with a volume velocity \(U_j\). The BEM gives the radiation impedance matrix \(Z\): the mean pressure on radiator \(i\) is

$$p_i = \sum_j Z_{ij} U_j .$$

The diagonal terms are each radiator's own load. The others are the coupling between radiators, the pressure the port feels because the cone moves, and the other way round. The power the radiators put into the air is the real part of pressure times flow, summed over all of them:

$$W = \mathrm{Re}\left(\sum_i p_i^{*} U_i\right) = \mathrm{Re}\left(U^{H} Z U\right).$$

\(U^{H}\) is the conjugate transpose of the vector of flows. Since \(Z\) is symmetric (reciprocity), this is \(U^{H}\mathrm{Re}(Z)U\): only the resistive part of \(Z\) radiates. The reactive part is the air that moves back and forth with the radiators without ever leaving.

What physics demands

A formula is not enough. Whatever the flows, the result has to obey a few rules, and each one is a test the simulation can fail:

  1. No negative power. A speaker in free air cannot draw energy from it. The resistive part of \(Z\) must be positive semi-definite, so that \(W \geq 0\) for any set of flows, including flows that cancel.
  2. The same watts far away. The power the radiators put in must leave through any large sphere around the cabinet: $$W = \frac{1}{\rho c} \oint |p|^2 dS .$$
  3. Every watt accounted for. What the amplifier delivers must equal the heat in the voice coil, the suspension, the box's absorption and leaks, the port's losses, plus the radiated power. This is Tellegen's theorem applied to the network, and it holds to round-off or it doesn't hold at all.
  4. The known limit. Far below the cabinet's size, the coupled model must fall back on the lumped one: the port tunes where it should, a passive radiator notches where it should, a cardioid rejects behind as it should.

None of these is new physics. Writing them down as tests is what makes them useful, because a solver that violates one of them tells you where it went wrong.

Where it broke

The obvious way to get \(Z\) is to read the pressure the BEM computes on each radiator. That is what Huygens did, and the tests above found a problem at low frequency.

When a cabinet is small compared with the wavelength, almost all the pressure on a cone is reactive: air pushed back and forth. The resistance, the part that radiates, is a few thousandths of the reactance. The BEM's pressure is accurate to a few thousandths too, on a coarse mesh. So the numerical error, small compared with the pressure, lands on a quantity of the same size. On a single radiator, this means about half a per cent of error on its resistance. Nobody would notice.

The trouble starts when radiators cancel. Below its tuning, a port moves in opposition to its cone. A cardioid's slots work against the front. Two ways crossing over in phase partly cancel each other. In all these cases the radiated power is a small difference between large terms, and the error on each term does not cancel with them. In the tests:

A negative radiated power is not a rounding issue. It means the model's resistance matrix is not positive semi-definite, so it can describe a speaker that pulls energy out of the room.

The fix

At low frequency, the far field is easy to get right. The flows set its strength, and a few spherical harmonics describe it. So below \(kR = 4\), where \(R\) is the distance from the cabinet's middle to its furthest point, Huygens now computes each radiator's far field \(F_j\) on a sphere and builds the resistance from it:

$$G_{ij} = \frac{1}{\rho c} \sum_n w_n F_i^{*}(d_n) F_j(d_n).$$

\(G\) is a Gram matrix, so it is positive semi-definite by construction. No set of flows can give a negative power any more. On the test cabinets, the power in and the power out now agree within \(10^{-5}\). The sphere's directions \(d_n\) and weights \(w_n\) come from a product rule exact for the far fields up to that frequency.

Above \(kR = 4\) (about 1.4 kHz for a 15 × 25 × 12 cm box, 400 Hz for a floorstander), the resistance is no longer tiny compared with the reactance, and reading it from the pressure on the radiators works again: within 1 % on these coarse meshes, 0.7 % seen. That is also where a far sphere would need many more directions.

Why bother

The same speaker in Huygens: its surface level and polar response at 88 Hz, the beamwidth of each way, and the horizontal polar map from 20 Hz to 10 kHz

Sound power is not an abstract quantity. It is what the directivity index divides by, and what the CTA-2034 in-room prediction is built from. A cardioid exists precisely to change the ratio between what goes forward and what goes everywhere. If the total power is wrong where the radiators cancel, the directivity index is wrong exactly where the design is supposed to make a difference, and the curves would push the design in the wrong direction.

The four rules above now run as tests on a vented box, a passive radiator, a cardioid and a whole crossed-over speaker, every time Huygens changes. That is the standard I want for it, curves that obey the physics before they look nice.

Questions or corrections?

A correction is more useful than a compliment. Write to me.