• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Keith_W DSP system

I spent the whole weekend redoing the DSP from the ground up. I have a lot of interesting measurements for your wonderment (or mirth) as well as some new DSP methods I have developed for your admiration (or ridicule).

Let's start by answering the question asked by everybody on ASR (or maybe not): "should I buy a plasma tweeter?"

1740405838469.png


In pink, we have a measurement taken from 2022. In red, taken over the weekend. Look at that, in a few years I have lost up to 10dB at 1kHz and a little bit at the top end. Fortunately the tweeters are crossed over at 4.5kHz (where the two curves start to deviate). Why does this happen? It is because the plasma tweeter has two consumables - the electrode, and the PL519 valve. A replacement electrode/valve set from Acapella cost me $1000 the last time I did the replacement, which was about 8 years ago.

Answer: unless you view your speakers as requiring maintenance like a car, the answer is "no". We are reminded that loudspeakers are imperfect LTI systems. Time invariance means that one set of inputs applied at one moment in time will result in exactly the same output as another set of the same inputs from another moment in time. Your speakers are not time invariant - as the voice coil heats up, the output may change. As suspension components lose their elasticity, the output may change. Plasma tweeters wear out in a different way. Fortunately it can be serviced and made as good as new.

The next question - "if I want to take a measurement to linearise a driver, at what distance should I place the microphone?" Let us look at a few drivers.

1740407368036.png


Woofers. The woofers are mounted on a 30cm wide baffle. According to theory, the baffle step is a volume loss of about 6dB that occurs over four octaves. Its centre frequency f3 can be calculated with f3 = 115824/W where W is the width of the baffle in millimetres. In my case, the f3 should be 386Hz, or roughly where I placed the marker. I intend to use the driver from 50Hz to 500Hz, which means that the microphone should be spaced 2x baffle width away from the speaker to account for the baffle step.

However, if you do this, your measurement becomes contaminated by reflections, as you can clearly see. The solution would be to lug this massive speaker outside, lift it onto a table, elevate the microphone, and get out a tape measure to ensure proper microphone separation from any reflective surface. I couldn't be bothered! So I spaced the mic 10cm from the cone and did a sweep.

1740407820782.png


Midrange horns. In red, the microphone is placed at the mouth of the horn. In black from 100cm away. Theory says that you should not measure at the mouth because out-of-phase reflections from inside the horn can arrive at the mic and contaminate the measurement. The usual advice is measure from 2x horn diameter away - in my case, 100cm. You can see that the shape of the curve changes. Since I was able to gate out reflections, I chose to measure from 100cm away.

1740408110500.png


Subwoofers
. Question - is it worth taking a measurement of subwoofers for the purpose of driver amplitude and phase linearisation? Is it even possible to take a meaningful in-room measurement of a subwoofer? I think the answer is "yes".

In red, the mic was placed 20cm from the cone. In green, the mic was at the main listening position (MLP). I took the minimum phase response and set a very long gate (15 cycles). For context, a 50Hz sound has a wavelength of 6.9m ... about the same as the length of my listening room. This means that a gate of 15 cycles means that the sound has bounced back and forth my listening room 15 times. Surely the measurement would be meaningless, I thought.

To my surprise, it turns out that the two measurements look very similar. The phase curves are almost the same, the only difference is the MLP measurement is time shifted (here, I time aligned the MLP and nearfield measurement so that you can compare them). Since it appears that straightening out the amplitude and phase of the sub would still be beneficial at the MLP, I decided to proceed with Acourate's new Sinc pulse driver linearisation feature for all the drivers.
 
Acourate Driver Amplitude and Phase Linearisation with Sinc Pulse

The new version of Acourate (v3.0 introduced in June 2024) has this feature. Older versions of Acourate can be upgraded with a nominal fee. This is what it does:

1740409027812.png


In short, it takes the minimum-phase response of a driver and makes it linear phase. This is only possible with linear-phase FIR filters with a lot of taps since it is much easier to manipulate phase and amplitude independently. If you want, you could design a reverse all-pass filter and do it manually (I describe how to do this in my free Acourate guide) but the new macro automates it. Why would you want to do this? The obvious reason is that it makes summation of drivers easier if the phase is not rotating at the corner frequency.

But there may be an audible benefit - there is a long debate on ASR where JJ stated that phase deviation of more than 15 degrees per ERB is audible. I believe him, to my ears, when you get rid of phase distortion, the result is exceptional clarity. In fact most people who listen to my system mention how clear it is. I have a set of filters with and without phase linearisation (as well as some clumsy attempts early on where I inadvertently worsened phase distortion) and the difference between them is easily audible. It is not often that I go against Linkwitz and Toole, but in this case I can really hear the difference, and I kid you not.

1740410233064.png


The measurement that Acourate uses as a basis for correction is a Sinc pulse. This is not a mis-spelling of "sync" - it refers to a sinc function. This is essentially a click that is one sample wide which contains all frequency components from DC to Nyquist. The advantage is greater time-frequency resolution and constant group delay across all frequencies. You can also measure DC at the tweeter without risk of damaging it since the pulse is so short!

Here we can see the logarithmic sweep of the woofer (red) and the sinc-pulse measurement (green). The amplitude response is exactly the same, but there is a slight difference in the wrapped phase response (lower graph). The two curves start to deviate from about 200Hz or so.

1740410755997.png


If we zoom in to the area of phase deviation we can see that the two measurements differ by up to 15 degrees. The microphone was not moved between the two measurements, and they were taken back to back.

The disadvantage of the sinc-pulse measurement is a very poor signal-to-noise ratio since so little energy is injected into the speaker. For this reason, many clicks need to be taken and the result summed to improve the SNR. I do 1000 clicks, this takes about 20-25 minutes to complete (compared to a log sweep which is over in 20 seconds). I had to measure 8 drivers, and I had to do it when ambient noise conditions were low. Which meant that I started measuring at 10pm and finished early in the morning. I entertained myself by eating snacks and getting on ASR to pick fights with random people.

Once the driver amplitude and phase linearisation procedure was complete, I proceeded to time alignment. This is necessary because phase linearisation changes the group delay, and therefore the Zero Delay Plane (ZDP). This procedure is well described elsewhere (including my guide) and I have nothing new to tell you here, so I won't.
 
Last edited:
But there may be an audible benefit - there is a long debate on ASR where JJ stated that phase deviation of more than 15 degrees per ERB is audible. I believe him, to my ears, when you get rid of phase distortion, the result is exceptional clarity.
Thanks for sharing your experiences and impressions. I'm inclined to think there may really be something to phase correction. I recently re-did my DSP settings too, settling on a 600 Hz crossover for my tweeter horn with a LR 48 dB target. I measured close and FIR filtered it to quite an extreme to get right on the target curve with flat phase all the way through. That sounded pretty good, but I felt I was hearing a need for tonal corrections at the listening position. I did this while listening to music and sliding the EQ cuts around until things sounded better. The end result was paremetric cuts at 2700, 3500, and 8000.This is obviously a perceptual combination adjustment, for room effects, differences between the close measurement and the listening distance response, and my personal preference. Not good, objective science.
I've never been happier than with the sound I'm getting now. It's very clear, natural, and pleasant, and has caused me to put my midrange horn project I had just started on indefinite hold.

I just bought a bunch of tools and was about to buy a 3D printer. It all seems like too much work now for uncertain results. The project was not a total waste though. It taught me some things as I was measuring new drivers, making me pay more attention to distortion,and realizing my current tweeter horn could really get down to 600 Hz with very low distortion at the levels I normally listen at. The midrange horn I was imagining was unlikely to get much lower than that without having to add another crossover for a super tweeter. Is that really going to be better than having everything unified from 600Hz on up? It's an expensive experiment to find out. I think I'll just enjoy the music for a while and think about it.
 
Thanks for sharing your experiences and impressions. I'm inclined to think there may really be something to phase correction.
@Keith_W got me into Acourate. I was familiar with room correction using REW/RePhase before, but I've now done 2 fully active setups using Acourate. The improvement in the scale of the soundstage (width, height and depth), placement of vocalists and instruments within it and the overall sense of "realism" has improved beyond anything that I thought was possible.

FR wasn't really a factor - the previous in-room response was very similar. Time-alignment of drivers wasn't really a factor either - the adjustments in Acourate to achieve full ZDP alignment between drivers were at maximum only 3 or 4 samples at a 48 kHz sampling rate, a mere fraction of a millisecond of time delay.

The only thing that remains is phase correction, and in my experience, this is where the really big audible improvements lie.

I spent Sunday at the home of an acquaintance - he has very high quality setups in 2 rooms (one with 3 pairs of speakers to choose from!) with eye-watering price tags. His systems sound nice - plenty of scale and can play LOUD. BUT, neither system has the imaging that either of my humble setups create. The space between the speakers wasn't filled with a clearly defined arrangement of voices and instruments. The vocalist on some familiar tracks wasn't palpably "there", just in front of me like I'm now accustomed to.

I've just finished a 2-way stereo active desktop system - RPi4B (Ropieee) with active convolution filters handled in Roon, feeding a Motu Ultralite Mk5 into a pair of Topping PA5IIs, driving a pair of ~20 litre Variovented enclosures with a 6 1/2" midwoofer and waveguided soft dome tweeter. I'm no speaker designer (a combination of educated guesswork and good luck), but this is the best sounding, most immersive audio experience I've ever had, period.

The speaker cabinets need finalising with a proper baffle, and some cosmetic refinement, which I will get around to, just as soon as I can tear myself away from listening to them!

WhatsApp Image 2025-02-24 at 21.43.23_4e3b7453.jpg
Setup

image.png
Measured FR - L, R & Mono vs target

WhatsApp Image 2025-02-24 at 20.15.49_342a45d2.jpg
Measured step response - L&R

a73297d055cc5e75c91ec86fd1cc46c1c24927bc.jpeg
ICCC (IACC)

WhatsApp Image 2025-02-24 at 20.19.19_274a5f22.jpg
RT60
 
In order to use Acourate where is the PC in your circuit to enact this?
The PC was plugged into the Ultralite Mk5 for measurement and testing. Acourate generates convolution filters and associated .cfg files in a range of formats which can then be used in your convolver of choice. In this instance, I'm using my Roon core's Muse DSP function to apply the filters. You can use pretty much any of the common hardware/OS convolver options currently available.
 
I was interested that you had used REW but felt Acourate was much better again. I have minidsp Flex but this is not configured I believe for this software.

I did find REW an improvement in my room from 200hz down.

I followed Canadian Mitch Barnett's reviews as he swears by this level of room correction and in fact will analyse and make filters from your measurements for a fee.

Did you filter frequencies over the full range or just bass?

You have an interesting system most I have never heard off except the Raspberry and Roon.
 
Woofers. The woofers are mounted on a 30cm wide baffle. According to theory, the baffle step is a volume loss of about 6dB that occurs over four octaves. Its centre frequency f3 can be calculated with f3 = 115824/W where W is the width of the baffle in millimetres. In my case, the f3 should be 386Hz, or roughly where I placed the marker. I intend to use the driver from 50Hz to 500Hz, which means that the microphone should be spaced 2x baffle width away from the speaker to account for the baffle step.

However, if you do this, your measurement becomes contaminated by reflections, as you can clearly see. The solution would be to lug this massive speaker outside, lift it onto a table, elevate the microphone, and get out a tape measure to ensure proper microphone separation from any reflective surface. I couldn't be bothered! So I spaced the mic 10cm from the cone and did a sweep.

Why not model the baffle step and modify the near field response as described in the links below? Seems that would be more accurate than ignoring it all together.



10 cm also seems far away for a near field measurement.

Michael
 
Why not model the baffle step and modify the near field response as described in the links below? Seems that would be more accurate than ignoring it all together.
There's no need with Acourate. The driver can be linearised near field. Baffle step isn't ignored - it's compensated at the room correction stage from the measurements at the MLP.
 
There's no need with Acourate. The driver can be linearised near field. Baffle step isn't ignored - it's compensated at the room correction stage from the measurements at the MLP.

But why linearize based on bad near field information? All that will do is turn your driver response which was nicely minimum phase in to some sort of convoluted response with excess phase. That will make proper crossover design difficult.

Can Acourate modify individual driver response when doing room correction from the MLP? If it only does global correction I do not see how you can fully undo the damage from bad near field linearization in the crossover region.

Michael
 
Why not model the baffle step and modify the near field response as described in the links below? Seems that would be more accurate than ignoring it all together.


Thanks! I was not aware there was a BDS simulator. I'll go try it. The reason I measured at various distances was to see how much of a problem it would be. It never occurred to me to simulate it and then modify the measured response.

10 cm also seems far away for a near field measurement.

You are right. I read Jeff Bagby's white paper again where he said this:

1740634671377.png


After you pointed that out, I pulled out an old measurement I took from last year where the mic was about 2cm from the woofer cone and compared it to my current measurement.

1740634979111.png


Red = new measurement (10cm spacing), brown = old measurement (2cm spacing). Highlighted area = bandpass of woofer, i.e. 50Hz - 500Hz. The newer measurement a maximum of 1.5dB volume loss at 100Hz.

I think i'll take your suggestion and use that calculator to model the BDS.
 
Can Acourate modify individual driver response when doing room correction from the MLP? If it only does global correction I do not see how you can fully undo the damage from bad near field linearization in the crossover region.

Yes it can. But I still prefer to take a proper nearfield measurement for phase correction. At MLP I do a much gentler correction for the upper freqs.
 
@mdsimon2 I took your advice and modelled the baffle step compensation (BSC) with Bagby's simulator. It relies on MS Excel which is a real pain because I had to find a friend who had Excel to create those models for me. He sent me the .FRD files which I imported into Acourate. Acourate can not nominally import .FRD files, but all you need to do is change the extension from .FRD to .TXT and then use Acourate's "Import Magnitude" function.

1740648729876.png


I asked him to create a model for my 10cm measurement (green) and MLP measurement (brown). Then I inverted the 10cm measurement and convolved it with my 10cm nearfield measurement to get the actual driver response. Then I convolved that with the 10 foot measurement to get the predicted measurement at the MLP. I then compared it with the actual MLP measurement:

1740649017185.png


In black we have the actual measurement. In pink is the modelled measurement. I played around with the gain a bit to get the two curves to align.

I think that the modelling reflects reality. What do you think?
 
Fwiw You may find vituixcad easier to use than those old spreadsheets, download from https://kimmosaunisto.net/

I have VituixCAD installed on my PC. My IQ = 50 brain finds it a bit too difficult to use. Another friend suggested I use AKABAK. That is even harder to use.

Regardless, you are right. It is time to add more tools to my arsenal. I am limited by my inability to make models so it is time to fix that.
 
I have VituixCAD installed on my PC. My IQ = 50 brain finds it a bit too difficult to use.
It's not if you focus to it, I promise.
I went from zero to somehow decent modeling my stuff in a day.

You just have to have the driver's info, etc available or measure them yourself (electrically, not difficult since you have an interface)
Without such order or measurements outside things can build up to been chaotic.
 
Back
Top Bottom