Table of Contents
From the end of 2019 and throughout 2020, I started thinking about the implementation of a digital crossover. At first, I looked very closely at DSP-based hardware that I could develop myself. The more I looked into the subject, the more I realised that the DSPs I favoured were all not powerful enough. The number of possible TAPs when using FIR filters is simply too small.
The decisive factor for the decision for FIR filters was the article “Thoughts About Crossovers” by Dr. Ulrich Brüggemann (AudioVero) from 2006. Using a step function, the transfer behaviour of analogue filters (e.g. Butterworth 2nd order) is analysed. In the investigations only the crossover itself is considered, the loudspeakers are assumed to be ideal (which of course they are not). The result is frightening, there is no longer any question of a step function behind the filters! The second part of this article describes the solution to the problem in the form of FIR filters.
My friend Heiner has been using a professional 8-channel A/D and D/A converter for a long time. The digital crossover and the room acoustic measures run on a PC. With the appropriate performance of the hardware, there are hardly any limits to the “crossover”.
Initially, I was thinking of a converter with digital I/Os and a corresponding sound card in the PC. After I had studied the subject for a while, I decided to use a Dante interface for audio transfer. For this, only inexpensive standard network components are needed. With these components, longer cable lengths are also possible, so that the PC could be moved from the listening room to the adjacent room. Since a maximum of 16 input and 16 output channels are provided for the converter, a transfer of up to 192kHz/24bit is possible with this solution without any problems.
However, I would like to emphasise that I would not have made all the effort “only” for a pure crossover, even though the article above very impressively describes the disadvantages of analogue filters. Despite all this, the AFW1 and SubDSP setup works extremely well for me. The whole thing only becomes round when you use the setup to include room acoustic correction filters. I have already experienced what such filters can do impressively with my friend Heiner’s system.
on 15-02-2021 the AFW1 and the SubDSP were replaced by the digital setup
The hardware of the crossover consists of several parts. In addition to the components of the crossover, it also makes sense to use an extra computer to manage the Dante network and to access the Convolver PC via Remote Desktop. My setup consists of the following components:
- the Convolver PC for the convolution software
- the 8-channel A/D and D/A converter (later upgraded to 20/16)
- the Management PC
- a switch
I had to buy the Convolver PC new. I decided on a B460 Mini ITX board with an Intel i5 Socket 1200 processor and 16G RAM. More than enough power to calculate even complex filters with a lot of TAPs. Since the computer is not in the listening room, it can be cooled “normally”.
A/D – D/A Converter
After the very helpful support of my friend Heiner and some research on my own part, I decided on an eight channel Lynx Aurora(n) 8 DANTE with an LM-AIO8E converter and an LT-DANTE interface card. No small investment, but worth every penny as the central device in my audio equipment. The Lynx converters are extremely neutral in terms of sound and therefore ideally suited for use in a high-end audio environment.
In August 2021, I also equipped the converter with another LM-AIO8E card and an LM-PRE4 microphone preamplifier card. The correct name for the converter is now Aurora(n) PRE 2016 DANTE. This gives me the possibility to make all measurements with the help of the Lynx.
In my listening room there is an embedded PC without rotating parts that I use, among other things, for measuring room acoustics. Thankfully, this PC is equipped with two network interfaces. One of these interfaces goes into my internal PC network, the second one, which has not been used so far, is connected to the “Audio Switch”. This PC is used to configure the Dante network. You could also install the Dante management software on the Convolver PC and access it via Remote Desktop, but this way I find it much more elegant and it only costs me one network cable.
In principle, the requirements for the switch are relatively low. However, if you take a closer look at the requirements that Dante places on this hardware, it becomes a little more complicated than it first appears. In particular, the requirement for a switch that does NOT operate in EEE mode (Energy Efficient Ethernet or “Green Ethernet”) makes the search for a suitable device difficult these days. All cheap unmanaged devices you can get have this mode implemented and of course it cannot be switched off on these devices. This leaves you with a managed switch. Here, too, EEE is implemented, but in contrast to the simpler devices, this mode can usually be switched off. Unfortunately, there is no really useful support from Audinate, so you have to search for a suitable switch yourself. By the way, the Ethernet wiring should be done with CAT5e or CAT6 cable throughout, I chose CAT6.
Contrary to Audinate’s recommendations, I used – for the time being (?) – a simple unmanaged switch. Since I only transmit a few audio channels (2+5) with 96kHz/24bit, there have been no problems with this switch so far.
Windows Server 2019 is running as the operating system on the Convolver PC, but unfortunately not in Core Mode. The reason for this is the AcourateConvolver, which does not run completely properly in this Mode. The PC has neither a keyboard nor a monitor. The system can be accessed via the remote desktop, e.g. from the Management PC.
The actual software used for convolution is the AcourateConvolver from AudioVero on the Convolver PC. Acourate – also from AudioVero – plays an essential role here. This software runs on my Management PC and is used to calculate FIR crossovers and to measure the listening room. Once this data has been determined, correction filters for the room acoustics can be created. This data is then transferred to the Convolver PC. The audio data can now be convolved with this data in “real time” with the help of the convolver and distributed to the corresponding D/A channels of the converter. Of course, there is a certain latency, which takes longer the more complex the individual filters are. But we are talking about an audio playback system and it doesn’t matter if the music needs a few milliseconds more before it sounds.
However, a driver is still missing to transfer the audio data from the Ethernet interface to the convolver software. This is provided by Audinate – the company behind the Dante network. The Dante Virtual Soundcard (DVS) connects the network interface to the audio software via an ASIO driver.
The Dante Controller runs on the Management PC. This is the administration software for the Dante network and is also provided by Audinate. Unlike the DVS, however, this software is free of charge. The Lynx software NControl also runs on this PC. Using the installed drivers of the Dante Controller software, NControl can access the converter via the Dante network.
Last but not least, after the successful commissioning of the complete software, the Convolver PC has been optimised with the Audiophile Optimizer for its main function of transferring audio data.
Configuration of the Software
The mathematics behind the signal processing described above is called convolution. Here, the respective audio stream is converted with a target function that has been stored. This means that the amplitude and phase of the output signals are influenced. In my system, the input signal – the input stream – is the audio stereo signal. From the 2 input channels, 5 output channels are generated. One for each Quad – so four – and the signal for the RiPol. The whole thing is done at a fixed sampling frequency of 96kHz/24Bit. A total of 3 different influences on the signal are made:
- a crossover
- a room acoustic correction filter
- a difference time correction from the Quads to the RiPol
The crossover and the room acoustic corrections are stored by Acourate in a common file per filter output – in my case there are four (2 way crossover with 2 channels). In the AcourateConvolver you create a matrix that connects an input with an output and with the corresponding convolution file. The difference time correction is given directly in milliseconds for each output.
With a mono subwoofer, you have 2 entries in the matrix – left and right channel – which are routed to the same output with a level reduced by -6dB. In the AcourateConvolver, signals that are routed to the same output are added.
The crossover was created with the help of Acourate, as already mentioned several times. I decided on a crossover frequency of 125Hz, which has been tried and tested by me for many years. Due to the very steep filter characteristics, the resonance overshoot of the Quads at about 80Hz, which I had with the analogue crossover, is completely suppressed. They simply no longer deliver any significant level at that frequency. It’s exactly the same with the resonance of the RiPol’s above approx. 250Hz.
A UB jPol11 FIR filter is used. It is a version of the Neville-Thiele filter further developed by Dr. Ulrich Brüggemann. The filter order is 2 with a linear phase. I have chosen the number of TAPs to be 131072. The following diagram shows the frequency response.
Room Acoustic Correction Filter
With the help of the “Room Macro 2: Target Curve Design” in Acourate, the correction filter can be created. You graphically enter a frequency response (target function) that the speakers should transmit. If you are as inexperienced in this matter as I am, you first think of a linear transfer in the entire frequency range. Unfortunately, it is not that simple. If you look around on the net under the term “target function” you will read a lot of opinions. But you also come across references to studies by Harman and Brüel & Kjær.
My first two target functions were defined by my friend Heiner. The first curve is, in his opinion, an optimised curve for my listening preferences and taste. The second is a target curve based on it, but which he has “softened”. It is closer to the original transfer with the analogue crossover. The point of this is to introduce me gently to the material first and not to directly throw everything from days gone by over the top. In my opinion, this is a very good approach.
Difference Time Correction
There is an article by Dr. Ulrich Brüggemann called “Time Alignment of Drivers by Sinewave Convolution” in which he describes a method to measure the time difference between speakers. We used this method to measure the time difference between my RiPol and the Stacked Quads. We measured a difference of 1.46ms. As described above, this time is entered directly into the matrix of the AcourateConvolver.
Due to the Stacked Quads and Pass’s circuitry, my system is very high resolution. My concern was that this would suffer from the additional A/D and D/A conversion. After a week of intensive listening, my fears have proven unfounded. The system retains its original character even with the digital crossover. This speaks for the quality of the Lynx. However, it will be the same with this converter as with any other audio electronics, it needs play-in time. My first impression with the chosen target curve can be described with one word: Balance.
That sounds like very little now, but it is by no means meant that way. The difference is very clear. What I want to say with the word is that I now have a very even transfer of all frequency parts. The tonal balance between the mids and the highs is much better than before. The bass has also increased noticeably and blends very nicely into the overall picture. The reverberation time is already quite good without the Active Absorber, but it could be even better – this is the next step in the optimisation process. So I can already say with certainty that the radical change to digital processing of the signals has paid off.
31-03-2021 / Addendum:
In the meantime, the Lynx converter has settled in and is performing at the high level I had hoped for. Since the day before yesterday, the active absorber has also been calibrated and in operation. Of course, the acoustic characteristics have changed, so that the convolution files had to be recalculated. The target function has not been modified. The result is sensational! I would never have thought it possible to achieve such precise bass reproduction in my room.