After doing some research it became apparent that MiniDSP was the most suitable company to get the DSP hardware from. They also sell DACs and accessory boards that allow you to have a physical volume control and SPDIF inputs. I opted for their flagship device, the MiniSHARC along with two accessories, the VOL-FP and DIGI-FP. I also ordered two stereo I2S DACs. While researching MiniDSP it became apparent that their user forum is very active. It's full of people who know a lot about their products and are willing to help you out if you have any problems. The dev (development) team also write replies in the forum, its a great tool to help you understand the products, their capabilities, and their limitations.
Here is all the kit: The one in the middle is the MiniSHARC, bottom is the VOL-FP, back left is the DIGI-FP and on the right are the two DACs.
Power Supply Woes
My boards arrived 2 days ago and after a few teething problems with the firmware it all works. I have yet to test the DACs as I don't have the correct power supply for them. I originally tried to power the MiniSHARC and one of the DACs with the bundled power supply but when I connected the DAC the DSP board turned off! I think their is too much voltage sag (I doubt the PSU is regulated) I measured it to be 5.25V at no load but I guess its not good enough. I might try a seperate 9V DC wall plug I have (the MiniSHARC is happy with 5V-24VDC but I'm not sure of the max voltage that the accessories connected to it can take).
I will build a 'proper' power supply from a Traco switch mode power supply and a filter circuit to remove all the switching noise. The designer of the miniDSP DAC (aka the user curryman) has posted a filter design on the forum and I am in the process of buying a PCB off him. I need to order the parts for it too then put it all together. The 'proper' PSU should be able to power the MiniSHARC and the two curryman DACs
Software
I'm using the MiniSHARC 4x8 'plugin'. The board is first connected to the PC with a USB cable and then you can sync it with the software so any changes you make happen in real time. This is a great tool for crossover design even if the speaker doesn't use DSP at the end because analogue filters can be made to match the IIR digital filter designs used in the crossover. In fact the presets in the software like the Linkwitz-Riley filter shapes were originally analogue designs that have been emulated in the software! I wouldn't be surprised if DSP like this is used by crossover designers.
Here you can see a filter that could be used for a LF driver (woofer). It includes a subsonic filter too. The cutoff frequency for this driver is set at 2.5 kHz but could easily be changed by changing the number in the box, its really that simple! Below is the filter that would be used for a HF driver (tweeter).
That's not all, EQ can be applied to each driver individually to correct their non-linear amplitude response. I plan on doing this. I need to book some time in the anechoic chamber at my University to measure each drivers frequency and phase response. I can then apply EQ to the drivers to approach a flat response, well that's the idea... I'll take multiple measurements on and off axis and combine them for an averaged response. This should serve me better when applying equalisation because the response changes depending on the angle of the driver compared with the listener.
The digital filters that make up the crossover are called bi-quad IIR filters (Infinite Impulse Response). These filters create phase shifts in the transitional period between the pass band and stop band, much in the same way an analogue filter would of the same design. The beauty of the MiniSHARC is that it also employs FIR filters (Finite Impulse Response). These filters add a time delay to the signal to 're-align' all of the phase shifted components relative to each other. Furthermore they can shift the phase independently from the amplitude meaning the crossover network can be implemented with 'phase-shifting' IIR filters but 're-aligned' using the FIR filters.
At this point you may be wondering something along the lines of:
"I didn't realise that crossover networks did that, but I'VE never noticed so what's the big deal? Don't fix it if it ain't broke right?"
Chances are that you probably have heard the artefacts of a crossover networks phase shifts. It usually equates to an uneven frequency response at and around the crossover frequency. Its because the phase of the signal to the woofer and tweeter are effected in different ways meaning that at and around the crossover frequency (where the drivers are playing the same frequencies) the signals are out of phase. The situation can sometimes be improved slightly by inverting the polarity of one of the drivers which, depending on the crossover filter will bring the relative phase of each driver closer to being in phase at the crossover frequency than if you just left them. Obviously the rest of the signal in each of the drivers pass bands is 180 degrees out of phase but this doesn't matter because humans aren't sensitive to absolute phase.
My point is that standard analogue AND digital filter designs cause problems and are by no means perfect. FIR filters could offer a solution but they have drawbacks too.
FIR Filters
FIR filters require more processing power to implement than IIR filters and are prone to a phenomenon known as pre and post-ringing. The audibility of this is questionable and is in fact a big part of my final year project. The steeper the filter slopes the more 'extreme' the ringing. It is most audible when a transient is passed through the system. I tried to test this in a Reaper. I set up a 'brick wall' FIR filter which was literally a straight line down from 0 dBFS to something like -110 dBFS. I then set up a transient that played every few seconds and listened to see if I could hear any ringing before or after the transient. I found that it was clearly audible in this configuration. This was an extreme example though and would not (and could not) be implemented with the MiniSHARC DSP.
Another thing to point out is that the exact same 'ringing' is reproduced from the other driver but inverted, meaning that in theory they cancel out perfectly*. This was not implemented or even considered in my quick test. *As two electrical signals travelling to each driver, if they were summed electrically they would cancel out perfectly but in a speaker system they sum in the air acoustically. Depending on the listeners position they may not (probably wont) sum perfectly, but again this brings up the question of how audible it can be in a real system. Remember a real crossover network uses much shallower roll-offs than my test, and no 0-1-0 pulse transients are present in real music reducing the severity of any ringing considerably. I plan on hosting a listening test where I'll play music with the normal IIR crossover filter, then the same music but with the FIR filters active and see if people:
A. can hear any difference at all.
B. have a preference.
Time-Alignment
Another great feature of the MiniSHARC is that you can add a time delay to the signal to each driver. This is useful because usually the tweeter is closer to the listener than the woofer because the woofers cone protrudes back into the speaker enclosure. This means again that there will be phase cancellations at and around the crossover frequency because the sound from each driver arrives at the listener at different times.
Conclusions of DSP within speaker design
DSP offers many benefits to a speaker designer, in terms of improved flexibility and extra functionality over analogue systems. Some people may feel uncomfortable with the idea of DSP because it adds an extra layer of signal processing that could be deemed unnecessary and may degrade audio quality. They might say they want to hear the audio with no alterations; maybe in a totally analogue system (which is totally fine) but they are mistaken if they think their analogue crossover and drivers non-linear frequency response are not altering the music they hear. Of course a poorly designed badly implemented DSP will cause problems and reduced audio quality. Unnecessary conversions between digital and analogue should be avoided (the miniSHARC accepts a digital input).