Dynamic lin. phase EQ..some trials..

Linear phase EQ, part 2

 

The fun in coding your own DSP  is you quickly learn this Egg of Columbus, once you free your mind of thinking in the frequency domain (paraphrasing Moroder):

Everything you dream up about multiplying functions in the frequency domain like applying dynamic EQ can in fact be a rather simple arithmetic operation in the (discrete sampled) time domain.

So EQ can work out as follows: apply  the reverse filter to the signal stream on a sample per sample base. Subtract that stream also on a sample per sample base from the original stream. Take care you do your calculation on the correct sample!

Mind boggling to realize that every single sample is a representation of the music playing (right at that moment in time)


void doProces(q15_t* Lin, q15_t* Rin, q15_t* Lout, q15_t* Rout)
{

	  arm_sub_q15(Rin, Lin, Mono, n);
	  arm_q15_to_float(Mono, Monofl, n); /*adding balanced input to mono signal*/

	  arm_fir_f32(&SLF, Monofl, Low, n);
	  arm_fir_f32(&SHF, Monofl, High, n);
	  arm_fir_f32(&SEQ, Monofl, EQout, n); /*several FIR filters*/

/*RMS treshold + attack//release: blocksize=48, sample freq=48kHz --> 1 mSec per callback*/
	  arm_rms_f32(EQout, n, &rms);
	  if ((rms > 0.005) && (gainEQ<=0.8))
			  {
		  	  gainEQ = gainEQ+0.1;
			  }
	  if ((rms < 0.005) && (gainEQ>0))
	  	  	  {
		  	  gainEQ = gainEQ-0.005;
		  	  } 

/*scaling + actual EQ substraction*/
	  arm_scale_f32(EQout,gainEQ, EQout, n);
	  arm_sub_f32(High, EQout, Result, n);

/*revert float back to signed int. Lout = low, Rout= high */
	  arm_float_to_q15(Low, Lout, n);
	  arm_float_to_q15(Result, Rout, n);

}

That is a very crude bit of code to run the tests, basically I use some FIR filters to split the stream in 3 parts: high to feed the HF horn, low to feed the speaker. And a bell shaped EQ stream around 2200Hz to do the magic. Totally mocked up out of thin air (and some prior listening).

If you are really interested you can work out the attack//release timing and chosen gain slopes (also derived with some listening)

Now for the promising conclusions:

Yes. 

EQ-ing with dynamic linear phase EQ does help to create a loudspeaker that is way more versatile in that you can play it more dynamical (read louder) without being annoyed with that ripping horn distortion.

But.

Care should be taken in not to overdo the processing because it sounds like that; over processing. Also: as (live-) sound engineers we are totally used to how a all these elements like loudspeakers and/or microphones behave and in fact make use of the nonlinearities in the creative process.

 

More research is required..

Here is some food for thought: underlying is a measurement of the first 2 distortions of the HF horn under test.  We all know: 2nd harmonic is ok, 3th is bad, right? Now look where I choose (by ear) that EQ point: right at 2.2k where that 3th bumps up. (and 2nd goes down!)


Brown = SPL 1e harm.

Red = SPL 2e harm.

Yellow = SPL 3e harm.






Yet one more thing i would like to add: 

In my discussions with my great audio friend prof. dr. SA (you who you are) he once coined the phrase: equal-group-distortion. Naturally this is nothing, what he was saying is: it is the discontinuities and bumps in distortion patterns that make us jump into action..

PMC LB1 a historic investigation in legacy sound, part 1

 Part1

Today some vintage PMC LB1 studiomonitors did arrive at my desk.

For those unknown: just follow the link for a description of these UK manufactured benchmark loudspeakers, developed by some former BBC employees.

They came accompanied with a assorted collection of 'spare' tweeters and woofers.

 

 

Upon first test nothing worked as it should: we quickly found that both 1 and 2 +/- connection of the speakons where paralleled. Now that is a bit unusual, as in pro-audio we use a NL4 speakon to feed a loudspeaker with a high/low split signal. Nowadays the majority of prof. amps have 2 channels feeding 1 speakon. So the box effectively shorts the 2 channels. Not good. Oh well..easily sorted.

 

Still not very good sound. So let's open it up: and behold and wonder some fire has been inside.

Now this really made me curious. I know the loudspeakers have been driven with Bryston 4B amps. (Not to shabby!) So underpowered clipping amp couldn't be the reason.

So let's investigate...


 

 

First thing I did was try to find a schematic for this cross-over online. No luck.  So I drew it up myself:

Now to get an idea of the design philosophy we examine the values of the components closely. Immediately the doubling of C1 vs C2 (6.8uF) springs out, which will point to a textbook LinkwitzRiley 24 dB filter. In those days modelling software (like LinearX Leap) was available but apparently not wide spread. (I did acquire my copy somewhere in 1996). So we could investigate this pointer further. I de-soldered the 2 coils and measured them. Not very accurate, but both values and even more their ratio (1:4.5) prove this indeed it is a textbook LR filter.

To determine for what crossover frequency they designed that filter we have to do a bit of guess work. because you will have to know the impedance with which this filter is terminated. What if they just took the (DC !) 6 ohm resistance that is mentioned on the tweeter ? (of course this is not correct but read on..) In that case the crossover will work as a (electrically!) perfect 24dB LR crossover at 2100 Hz.

Anybody who has dabbled a bit in passive crossover design knows the horrors: components all interact with each other, are never ideal (parasitic inductance / capacitance)  and the terminating impedance is never a constant (ohmic) resistance. So yes, changing f.e. capacitors with different brands (with the SAME value, duh) will have an impact on the sonic behavior of a filter. But that is a different story.

First let's measure the tweeters to see if that terminating resistance indeed is more or less a constant 6 ohms..


And yes: the green line is an impedance measurement of the raw driver. That is rather flat to begin with so one immediately thinks: ferrofluid . Indeed in the '90's that was considered quite the bomb. Some manufacturers did use ferrofluid in everything (even 15" speakers, bad idea!)

One of the 'spare' tweeters had some note saying "possibly faulty", so I opened it up to find out. 

Now opening up drivers and in general reconing or refitting new membranes is NOT a good idea (with nowadays manufacturing tolerances) but that is an other rant, this tweeter was 'possibly' faulty anyway:

Yes, JL (in 2015) this tweeter is definitely faulty..I might even say totally foobarred.. But also filled with (a bit dried) ferrofluid so: confirmed!

Now what type/brand tweeter would this be, because they look awfully familiar?

And, suprise, suprise: when I pulled away some PMC branding sticker I found the original VIFA D27TG35 sticker. Take note of that exact number because this is remarkable!: In that same era (somewhere in the '90's) I did design and manufacture  a small multipurpose loudspeaker (build maybe a 100 units or so) with that exact same tweeter. When they went out of production I bought the remaining stock and that was the end of that build. (fairly recently I did a restoration of one of the installs-->)


And no, some Peerless or (Vifa rebranded) tweeter with a similar number will not be a replacement! But you can have your own opinion: nobody will get hurt..

Onwards with the filter, cause still some components need to be explained: more precisely the burned resistor(s). First one is a series resistor with a paralleled capacitor. This will serve as a attenuator for the tweeter and also as a slight top boost (ferrofluid, y'ken) with +3dB point at 9khz. Fair enough. But it will make the filter 'see' a higher load.

But what's that 100nF (with series 8 ohm) doing there? Those values make no sense at all, it does precisely nothing in the audible band. Also as an zobel network (to stabilize amp load) it is nonsense in that position..oh well.. brainfart from the designer??

So this leaves us the one resister that is paralleled with the combined load of tweeter and attenuator to get back to the correct load for the LR filter. From a designers perspective this is an awful solution: that resistor will get hammered with a lot of power, so no wonder it is burned. 

Previous repairs show a (also way to small) installed 13 ohm resistor. Now that's an odd value. Not likely in my opinion. 

Back to the measurement above: if I insert a 10 ohm resistor and re-measured the tweeter with attenuator I got that yellowish line: an almost flat, straight out 6 ohms, which brings us back to the desired, flat line 6ohm for our LR network topology...

Now hows that for loudspeaker forensics?


 

..on to Part 2


PMC LB1 a historic investigation in legacy sound, part 2

 Part 2

 ..on wards..

So now what will we do? Upgrade that filter with audiophile components?  Redesign it with what we know now? Or even use some DSP to make an active system?

NON of the above.

Audio reproduction is a construct so if we want to know why that box was so successful in those days we have to thread really careful!


So what I did was replacing those burned resistors with beefier ones of the original value. However, I did get rid of that mystery non working 100nF to make some room. Purists forgive me if you hear a change in the 200kHz region.

I also replaced that electrolytic cap with some MKT  I had lying around. We all agree that (old) electrolytics are a pain, right?

They serve as impedance-equalizing for the woofer so not in the 'signal path' anyway.

So how does it sound?

At first I was a bit underwhelmed, so let's look at the measurement to see if I perhaps made a mistake by swapping polarity of one of the components . (note to self, why don't you ever mark down how things where connected?)

No, totally correct. As expected: perfect all-pass behavior. Also the inverted tweeter experiment gives a deep null.

It does sound that way too, like a well balanced loudspeaker. Albeit it bit dull and boring perhaps to much zero-phase-fir-filtering for me lately?

puzzled...

 

..So let's turn it up and see what happens...

AHA !! Euphonics !! I can do euphonics, after all I have been a live sound engineer for many years. So I need a bigger amp, as I was testing with one of my whimsy yet brilliant sounding gain-clone-single-chip amps. 

Unfortunately I don't have some spare Bryston lying around but I do have some class A amp from a prior experiment.

Now stuff starts to be clear why people have blown these speakers into smithereens: they just say more more more more more..

More off what? More of that fantastic low-end! That tweeter I do know: not the best 7kHz I ever did hear, but that transmission line is real fun!

Here you go: measurement very close to the port. You can see the smoothly playing 60Hz (such nice frequency)

But it does look a bit worrisome around 220Hz, right? That's a general problem with transmission lines, maybe I can repair that a bit with some more experimental stuffing

Now will this loudspeaker work as a generic monitor loudspeaker in 2023 ?

We would first have to define what a monitor speaker is. 

Contrary to some big names in loudspeaker-design-industry (not studio people), I have the feeling that working as a mixing engineer is also a part of the creational phase. Not re-production as in playing back the end result.

So a studio monitor is not there as a reference of the end result but to make you do your creative part in a stimulating way. And press you to reach further, higher, better, newer.

These monitors came into fashion when we (in live sound) started working with band pass (6th order) subs..and hey: let's try some Portishead / Massive attack and drum 'n bass (Propellerheads!)

...woohaaaaa... this is the shit..damn!

How revealing is that!

Now does recent music like Billie Eilish, Whispering Sons, (modern) classical music work? nah, unless you really enjoy that '90's sauce on everything.


That being said: some of these sound system blokes are experiment a lot with 1/4 wave sub, as if it is something new.. So who knows what will come into fashion again, after all everything seems to go in circles.


 


And another day of listening + experimenting: Red line is port measurement without any additional stuffing, whitish line is with some extra 'sheep wool' stuffing. Sure: low end is cleaner + sounds more tight with the stuffing but the 'fun' is gone.. 

 

More research is required: I will use the extra parts to make a home brew TL and in the meantime get a better (DSP) crossover because the groupdelay of that conventional filter is starting to annoy me. The restored boxes will serve as a reference (in my memory database) to that.

Keep checking!