3-Way Coaxial Speakers With DSP


even though the speakers I built 8 years ago were still working fine, I had been itching to build something new for a while. After much thought, I managed to invent some reasons why I needed to do so. Firstly, the audio hardware in the PC I use as an audio source has inadequate bass-management. I could solve that problem by using an external DSP. Secondly, the subwoofer amplifier was too bulky. That problem could be solved by using some class-D amplifiers, which are now readily available at an adequate quality. Lastly, I wanted to transmit the audio optically, to prevent ground loops. I would of course need to build new speakers to go with that new hardware, because. The existing subwoofer would stay, as it's hard to imagine any way I could build a better one.


After investigating the various available DSPs that are suitable for active-crossovers, I decided to get an evaluation board for the Analog Devices ADAU1452. It's ideal for my purposes because the board has an S/PDIF input and a generous 8 analogue outputs, which is more than enough to create an active crossover for a subwoofer and a pair of 2-way speakers. In fact that would leave two outputs spare, so I expanded the scope of the project to 3-way speakers (the whole system with sub is then effectively 4-way). Another reason I chose this chip is that the SigmaStudio software for programming it is pretty good.

Crossovers, filters, inputs and outputs connected together graphically.
This is what programming the DSP involves. There is no 4-way crossover built-in, so I cascaded a 2-way and a 3-way.


There are innumerable cheap class-D amplifiers available from China. I went with ones that diyAudio forum members call the "Yuan-Jing Blue/Black 2.0 Board". It's a reasonable size, and has a decent power output of 50W per channel. It could have been even smaller if they hadn't used preposterously oversized input capacitors. I ordered a few of these from different sources, and some of them had the gain set differently. Some of them even had different gain with the same gain-setting resistors, suggesting that perhaps some of them aren't actually using the TPA3116. I had to buy a few extra to get four that matched. In case anyone else has difficulty working out what connectors are needed for the audio input, they should be 3-pin JST EH plugs.


To keep the size small, I looked for a switch-mode PSU. It needed to have both a 5-6V output for the DSP, and an 18-26V output for the amplifiers. That's an unusual combination, but I was lucky to find a second-hand Vicor FlatPAC that had been configured with one 5V and two 24V outputs. It's not quite perfect, with the 5V output much more powerful than in needs to be, and the 24V outputs with unequal current ratings. Still, it's a nice piece of hardware.

All the electronics are stuffed into a Hammond 1444 aluminium enclosure, in which I drilled a lot of holes for ventilation. It's just big enough to fit everything, with the power and audio input at one end, and the speaker outputs at the other.
A view inside the amplifier enclosure, stuffed full of electronics.
Power supply on the left, DSP in the middle, amplifiers on the right, wires everywhere.
The amplifier enclosure completed and sitting on a shelf.
It is no coincidence that it is the same depth as the shelf it sits on.

I used Speakon connectors for the speakers - 8-pole for the main speakers and 4-pole for the subwoofer. They are big for low-power use like this, but they are just so nice to use. For the cables I obtained some braided cables sold as "vintage lamp cord", in various colours so I can tell which driver each wire is for. I twisted three 2-core cables to make each 6-core speaker cable. This was not an easy process.

Speaker cables plugged in to the amplifier.
Red cable for the right channel, the same as line-level colour-coding.


Coaxial drivers have always seemed like a good idea to me, being closer to the idealized "point source". It appears to be really hard to make ones that don't create more problems than they solve though, with most reasonably priced ones showing horrific response anomalies at higher frequencies, presumably due to sound from the inner dome reflecting off the outer cone. After much searching I found one exception in the Dayton Audio CX120-8. This is a small speaker at 4", which is probably why it doesn't have as many problems as other coaxial drivers. The frequency response for the tweeter looks reasonably well behaved, and the woofer has pretty good low-frequency response for its size. It could well be used as a 2-way speaker on its own, albeit with modest output due to the small radiating area. It would have been better for my purposes if it had been designed specifically as a midrange + tweeter instead of a woofer + tweeter, as then it wouldn't have needed as large an enclosure.

A CX120-8 viewed from above.
An overexposed photo where you can see that the dome in the centre is actually a tweeter, not a dustcap.
A CX120-8 viewed from the side.
Unusually, from the side you can see the voice coil.
Official frequency response of the CX120-8.
From the specifications. Some bumps above 5kHz, but nothing too bad.

Unlike coaxial drivers, there is an overwhelming selection of decent woofers to choose from. I went for the Dayton Audio RS180-8, just because it is the same style as the CX120-8. It will work in small sealed enclosures, which is what I want.

An RS180-8 viewed from above.
That's a phase plug in the middle. Useless at the frequencies I'll be using it at.
Official frequency response of the RS180-8.
From the specifications. Typical of a metal cone, it breaks up really badly above 6kHz, so it should be crossed over well below that.

Speaker Cabinets

I wanted to build something of non-cuboid shape, as this can reduce problems from reflections inside. I would have tapered the cabinets to the rear, but the shelves where they would sit are not deep enough. Instead, I tried tapering them towards the top. This shape makes the front and rear panels very stiff, and the addition of a divider in the middle naturally forms a smaller enclosure for the midrange at the top. As usual, I constructed the whole thing out of MDF.

A speaker cabinet assembled.
A router is essential for stuff like this.

I sprayed them with silver "Chromacoat" paint, which isn't really silver, but green, purple and a sort of bronzy colour depending on the viewing angle. I should have spent a bit more effort on preparing the surface, because the edges of some of the panels are still visible. They still look nice though.

A speaker cabinet after being painted.
Stuffed with polyester wadding.
A completed speaker sitting on a shelf.
The connector looks a little odd sticking out the top, but it saves space.
Close-up of a woofer.
Close-up of a mid/tweeter.
The other completed speaker next to the amplifier.
Moose hasn't even noticed.

Crossover And EQ

The crossover frequency for the subwoofer is 85Hz. I chose this to be lower than the 115Hz I used before, which was high enough that sometimes I could tell that sound was coming from direction of the sub. The other two crossover points are 500Hz and 5kHz, which sends the frequencies that the ear is most sensitive to all to the midrange driver, rather than spreading them across two.

The frequency response of the crossover, with controls to adjust its parameters.
Designing the crossover in SigmaStudio. The parameters can be adjusted in real-time.

To get the levels adjusted to give a flat-ish response, I took some measurements with Room EQ Wizard, starting with the drivers individually. These measurements were taken at 0.5m and at some level less than the usual 2.83V, so ignore the absolute SPL. A lot of the horrible-looking peaks and troughs are due to being measured in a room rather than an anechoic chamber, though measuring as close as 0.5m improves things. Note that the subwoofer is substantially more sensitive than normal speakers.

Frequency response chart.
Four drivers, four frequency responses. 1/6 octave smoothing has been applied.

With the relative levels set, I then took measurements of the whole system, left and right separately, and used them with the "automatic EQ" feature of SigmaStudio to flatten the frequency response. To successfully import the data into SigmaStudio, I had to change the export text delimiter in REW to "comma", export with "export measurement as text", then replace the header in the exported file with the header from one of the example files that come with SigmaStudio. I also found that SigmaStudio didn't like it if the measurements went too far outside 20Hz-20kHz, and there seems to be a bug where it won't calculate the filter frequencies correctly if the system sample rate is set above 48kHz.

Frequency response of the EQ, with the total system frequency response before and after.
All those filters are calculated automatically.
The yellow curve is the natural response. The green curve is with EQ applied.

It would be acceptable without EQ except for a massive peak at 45Hz and an equally large dip at 93Hz. I extended the range of the chart above to cover 10Hz-24kHz to show what happens beyond the range of human hearing. Below 20Hz the subwoofer is still going strong. It falls off very quickly above 20kHz, which is probably due to an anti-aliasing filter somewhere in the audio chain. The EQ does a decent job of flattening out everything in between. It could be made even flatter by applying EQ per driver instead of per channel, and SigmaStudio even has a component specifically for doing that. Trying to get it perfectly flat would be futile though; simply moving the microphone changes the frequency response significantly, making it impossible for it to be flat everywhere in the room.


Subjectively they sound like the frequency response is as flat as it looks, with nothing lacking at the high end, unlike the old speakers, and definitely nothing lacking at the low end. It's hard to say if the coaxial drivers help, as any effect they might have can't be isolated from everything else. Imaging is good though, and remains acceptable even quite far off-axis. There's no "boxy" sound, which is a benefit of the cabinet shape, and maybe the internal dividing panel that separates woofer from mid. Tapping on the panels, they sound quite dead, as they should.

One problem that I encountered was massive turn-off thump, partly from the AC-coupling capacitors between the DSP and the amplifiers, and partly from the amplifiers themselves. The TPA3116 chips used in the amplifiers can be configured to mute when power is removed, and it would have been nice if that feature had been implemented in the boards I bought. I avoid the problem by disconnecting the speakers before turning the amp off, which is easy to do with Speakon connectors by just turning them, without having to remove them completely.