DSP Xover project (part 2)

Alright, looks like the storm is behind us now ;)

Paal has found a bug, so I have posted a fix. Version 0.0.5 is now available for download, it's only a software update (firmware unchanged).

Changes:
- Bugfix: Phase inverts in IIR mode were not always properly stored into the preset. (Thanks Paal ;) )
- Bugfix: The 'Show Unprocessed' checkbox on the graph tab was always disabled in IIR mode.
- As requested, there's now up to 24 dB gain on EQs.
- Up to -24 dB of attenuation in IIR mode so that you don't clip if you push the EQ gain high.
- Q factor now with 2 digits after decimal point.
- Lower frequency for crossovers now down to 10 Hz (instead of 20 Hz previously). This way you can (attempt to) protect your woofer (with a high-pass) if you add a lot of bass with a 24 dB shelf for example ...

Best,

Nick
 
Recently I have played two setups against each other:
1. Correction on the mid horn JBL2482 compression drivers
2. No correction.

In A/B test and blind tests (helper changing the setups with me having no idea what the starting point is), I clearly prefer them without any correction...
They sound is just less appealing and natural.

Now, I assume that the correction is pushing the the driver / horn combo to do work where out of their comfort zone and so it sounds less good.

Is it the way I am applying correction or just, you can't get things for nothing?

I do however like some correction on the bass channels. Perhaps it is a compression driver thing? Same thing with my upper mid Vitavox S2 drivers btw...

Have you had a look at what is happening off-axis? You may be creating peaks in the off-axis response that reach you via reflection. Also, make sure that you are not running out of headroom in Najda as a consequence of equalisation (boost).
 
:D
There where no space for the power. Have to build another box for that.
Nick, do you have a logo?

best,
Paal
 

Attachments

  • Najda 012.jpg
    Najda 012.jpg
    84.4 KB · Views: 569
Wow! That's very nice Paal!! Very very nice!!!
Have you also drilled the rear panel?

Something others will want to ask too: Where did you get these buttons? :)

For the logo, how about 'Paal Industries - Norway'? :D

(Power supply can remain out of the box. There's nothing wrong about that I suppose)
 
Last edited:
Wow! That's very nice Paal!! Very very nice!!!
Have you also drilled the rear panel?

Something others will want to ask too: Where did you get these buttons? :)

For the logo, how about 'Paal Industries - Norway'? :D

(Power supply can remain out of the box. There's nothing wrong about that I suppose)

Thanks a lot.
The buttons 2 x Round Cap Power/Arrow/Set/OK Logo Tactile Push Button Switch Momentary Tact LED | eBay

Najda from behind: see attachment.:)
For the Logo. I'll have a look:)

best,
Paal
 

Attachments

  • Najda 021.jpg
    Najda 021.jpg
    73.2 KB · Views: 520
Great build, Paal!

Good to see another LX521 builder as well. What are your impressions so far? Have you built the ASP? Are you running full 4-way?

I'm tempted to get those buttons myself for my build which is now getting closer.

/K

Hi kazam,
Thanks.
I had some hours of listening today and I still have goose bumps. The soundstage is even better than Orion. With some program material the soundstage is extending behind the front wall.
The LX is not finished yet, but is playable. I am in the middle of the adjustment phase (more exactly phase adjustment:confused: )
I have not built the ASP. I am not running full 4-way, but I am following your progress in another thread.;) My spare amp is standing here waiting..

You could maybe ask the button supplier to make a "menu" and "mute" button?

Good luck with your build!

best,
Paal
 
Why a FIR block for driver compensation, as opposed to a nice set of biquads?

Because I'm under the impression that a lot more taps are available for the FIR implementation as opposed to the biquads.

The figures I remember are 8500 FIR taps or 120 biquads. 120 biquads equals 480 poles/zeros.

This might be totally wrong of course and I'm happy to stand corrected!

/K
 
Because I'm under the impression that a lot more taps are available for the FIR implementation as opposed to the biquads.

The figures I remember are 8500 FIR taps or 120 biquads. 120 biquads equals 480 poles/zeros.

This might be totally wrong of course and I'm happy to stand corrected!

/K

Nick has the final figures of course, but you want to keep in mind that a FIR tap is not nearly the same thing as a biquad for filtering power: FIRs and IIRs are quite different beasts. As a *VERY* rough estimation, an n-long FIR will have a frequency resolution of about Fs / n, so at 44100 sampling rate a 100 tap FIR will be able to correct at a resolution of not much more than 440 Hz. So if you have a peak at 550 Hz, say, you want a 400 tap FIR to get the necessary 110 Hz resolution, whereas a single IIR can clean that up for you nicely.

Now the FIR can correct an entire spectrum within its limitations, of course, whereas you'd need an IIR for each anomaly, but the point remains. There's a more subtle point -- speakers (NOT rooms) are minimum-phase systems in the physical world, so their impulse responses will be infinite (within the limitations of measurement noise), whereas FIR correction will truncate the correction impulse so the two won't match exactly in the time domain. You can get arbitrarily close with longer FIRs, but then we're back to the starting point in the above paragraph.

BTW, a biquad would have two poles (denominator) and two zeros (numerator).
 
Good points, DSP_Geek!

Right now I'm using only biquads in my optimization routine. I have a desired frequency response and then I generate an amplitude response from sets of 5 coefficients:

H(z) = ( b0 + b1*z1 + b2*z2 )/( 1 + a1*z1 + a2*z2 ) where z1 = z^(-1) and so on.

The filter is a cascade of biquads so if I choose 4 biquads I will have 20 coefficients. Then I compute an error function in the LSQ sense and minimize this error. Results are good, I can get great accuracy. As you noted speakers are minimum-phase so therefore I do not care about the phase response. It is simply the Hilbert transform of the amplitude response. See Wikipedia

Of course there is a delay between the elements as the physical distance between the phase centers are different but this will be compensated with a delay in the DSP.

My reasoning behind the FIR block was to keep the zeros inside the unit circle to still have a minimum phase system but give the optimization routine some more degrees of freedom. I have not tested this so can't say if it will work. Since the code is already written it's pretty easy to test though.

In short:

Poles inside unit circle for stability. Two per biquad.
Zeros inside unit circle for minimum delay. Two per biquad plus one per FIR tap. Added in conjugate pairs to keep system real.

As for digital room correction I will abstain from this and use bass management instead to avoid exciting room modes. A couple of notches will suffice I guess. This is a much later experiment though as I have to actually finish my speakers first in order to put them in a room... ;)

/K
 
Paal, there was a breakthrough yesterday so I can now generate biquad coefficients that replicate all the channels of the LX521.

Next I want to include a FIR block, minimum phase of course :rolleyes:, in anticipation of individual driver variation compensation.

Kazam,
That was good news. So now you just have to wait for a Najda software update:)
For now I have just pulled out the usb and started listening:D

best,
Paal
 
The filter is a cascade of biquads so if I choose 4 biquads I will have 20 coefficients. Then I compute an error function in the LSQ sense and minimize this error. Results are good, I can get great accuracy.

That sounds good!
How do you sample the desired frequency response? On a log scale?
Otherwise I suppose it's an iterative process (?).
So how do you move poles and zeros? Are you trying all possible combinations and keep the best one, or are you gradually approaching the optimal placement based on some rule?

Kazam,
That was good news. So now you just have to wait for a Najda software update:)

It's being looked at :p

paalj said:
For now I have just pulled out the usb and started listening:D

Indeed, after all the tweaking, one might forget that the initial aim is listening to music ;)
 
I'm looking now at custom biquads.
Can someone post here a set of coefficients so that I can see how the formatting is looking like?

What I have in mind for now is as exemplified below:

Code:
N                  ; Number of biquads
b0                 ; First biquad coef set
b1
b2
a1
a2
b0                 ; Second biquad
...
...
b0                 ; Nth biquad
b1
b2
a1
a2

So all coefficients are normalized with respect to a0 (= 1).

Would that be compatible with the files you're otherwise dealing with?
 
Hi Nick,

Glad your working on custom biquad, But if I can make a little sugestion on the interface of your software, It would be nice if you can undock the graphs windows so that you can fine tune more easily without having to change the tabs back and forwards...

Thank you
 
That sounds good!
How do you sample the desired frequency response? On a log scale?
Otherwise I suppose it's an iterative process (?).
So how do you move poles and zeros? Are you trying all possible combinations and keep the best one, or are you gradually approaching the optimal placement based on some rule?

I've tried both log and lin scale. Log scale is preferable as it gives better weighting across the band.

I use a genetic algorithm: Wikipedia

/K