Currently i'm doing the following tasks:
- Upgrading the PSU - from simple chunked-up capacitors to LM317/337 regulators on board (they shouldn't produce much heat)
- Adding optional balanced input at input stage (simple single opamp scheme)
- Adding ability to bypass/reroute all the sections (say, you want to use it for full range speakers, but with 3 notches and no phase shifter? no problem!, just chain-up the output notches and bypass the phase shifter/LP section).

- All the HP/LP filters are 2/4-th order (selectable), Sallen-Key topology.
- All the passive elements footprints allow placing both SMT and thru-hole components
- All the filtering capacitors could be up to ~40mm length, 5mm wide
- All the filter resistors are built from 4 paralleled/chained SMTs, or 2 paralleled thru-holes - for getting exact values from limited E12/E24 values range. (the values finder will be supplied as a windows program or web service - you type the required value, select E12/E24, and get the closest value from chained/paralleled resistors).

As a side note:
Each opamp bypassing circuit requires:
- 1206 NP0 ceramic caps (value range is around 1n-3n, or anything you have around, that is not too small for the application)
- 5mm diameter electrolytic cap (anything you have, rated at 16v+, 1uf+).
- Opamp sockets are required - you have to use the gold=plated ones with round pins - they stand out of PCB for a 1-2mm - this space is required for placing PSU bypassing SMT caps.

Parametric EQ both subtracting and adding is a nice feature, will be added.
Rerouting the default signal path will be added too, yet i doubt it will be useful, as there are already enough features on each signal thread, and the topology is ok (as Linkwitz described on his site).

I'm playing right now with software, that going to simulate the crossover behavior (plotting graphs based on RC values in the circuit, and generating RC values based on sliders position). Going to be coded in VB.NET, and will require .NET framework, 3.0-3.5.
Say, you want to place a notch at some frequency. You move the F, then choose Q and depth, click "simulate" and get a picture how it will look like on frequency response.
A further step - is to load frequency response of each speaker in their enclosure, and tweak it visually by sliders, and then to get values for the implementation circuit.
Summing the response is a bit tricky, as there are phase/directivity issues of driver placement/size, so the flat frequency response won't tell the whole picture.
Maybe i'll do the "ideal" summed response, assuming every speaker get perfectly aligned phase, and then to get that response, user will need to tweak phase shifters to align phases in the real world.

The last, and furthermost option would be creation of software EQ/channel splitter, that will be able to play simulated filers using computer multichannel sound card. That's voodoo for me at this step of my evolution :)
I'm okay on hardware DSPs, FIR/IIRs, yet i have no idea how to implement it on regular CPUs with regular C/C++. Probably some audio buffer processing.
Then, designing a speaker will be an easy task - throw in some amplifiers, build enclosures, play with filers in software, build them in hardware - and forget about filters existence as your darkest nightmare.

s3tup

2nd October 2010 07:34 PM

1 Attachment(s)

Ok, as promised: The software tool for crossover simulation.
Just a screenshot...

What was done:
- Calculated transfer functions for HP, LP, Bafflestep, Notch for the circuits i have. Each trandfer functions receives a R,C,f parameters as input and returns a magnitude for particular combination of resistors, caps and frequency, in complex way.
- Made some kind of "platform" for transfer function analysis - graphing, frequency sweep, layered display of graphs.

To do:
- Calculate a phase transfer function.
- Add some controls! Changing Q, F, depth e.t.c for filters > calculation of actual R,C values > Simulation.
- Chaining functions. Probably by complex multiplication, and then plotting as it was single function.
- Frequency response loading. That will be a hard thing to do. I'd like to split it into 2 steps:
- - Graphical graph loading and analysis - datasheet graphs could be used, as well as any other.
- - Data import from major measurement programs (LEAP, ARTA, LspCAD etc).
- Phase, phase phase. I have to think what to do with it... Importing the phase graphs of measured speakers should be nice, and alteration of the graph based on phase filter response - even better.

s3tup

6th October 2010 02:05 PM

I wonder whether it's sufficient to put just a single first order all-pass circuit on tweeter output? Won't i almost always need at least two all-pass stages?

In the other hand, the woofer-midrange physical offset shouldn't affect the frequency response, as the phase difference between woofer-midrange acoustical centers are really small...

So it's better to use both all-pass networks just on tweeter's filter...?

Francec

1st November 2010 04:33 AM

s3tup,
How is progress? Things seem to have slowed down. :)

Frank

CharlieLaub

3rd November 2010 01:48 AM

UAF42 board for 2nd order filter, equalizer, active crossover

I have finally arrived at a scheme using the UAF42 IC from Burr Brown for line level crossovers in active speakers. Each UAF42 IC has simultaneous outputs for second order LP, BP, and HP functions. What is very nice is that, using three multi-turn trim pots, I can independently adjust Q and crossover frequency of each section. One circuit can be used for any 2nd order filter function within the audio band, making it more or less "universal".

I recently realized a way to used the bandpass output to make a single band, variable Q, variable frequency, second order equalizer section. The Q and center frequency are varied using the UAF42s controls, and another circuit takes the BP output and turns it in to a boost or cut.

In addition to these functions, I have a separate board that will handle input (balanced or single ended), and baffle step with a variable center frequency and attenuation.

These are pretty much all the building blocks that you need to make active crossovers for speakers. The second order sections can be cascaded to make higher order filters and the equalizer can be used to notch out resonances, fill in dips in the frequency response, remove the hump in the baffle step response, etc.

I don't have custom PCBs for these, so I am using a general IC prototyping board that has some traces on it. Several of these boards are needed depending on how many filter stages and equalization bands are used. Since the prototyping boards are all the same size, I can easily mount them together inside a speaker somewhere as a stack.

If any one is interested in collaborating on a run of custom PCBs for this kind of thing, please contact me. I don't have any experience in PCB design, routing, etc. for low level signals so I am a little out of my league. That's why for now I am only using the pre-fab boards. But I think a lot of people would be interested in this kind of PCB because amplification that you can put in a speaker is cheap and plentiful. The one thing that is missing to allow people to easily build their own active speakers are the line-level crossover boards. Since I have figured out a way to make a universal crossover with the UAF42, which I can get on Ebay for under $2 US each, this would be a great way to get more people interested in to speaker building. If you are a company selling chip amps, wouldn't this be a great match to your product line???

-Charlie

abraxalito

3rd November 2010 02:14 AM

Not at all wishing to rain on your parade, but a few things about the UAF42 on the surface don't bode too well for getting good sound. Firstly the THD is 0.1% and only specified at 1kHz and unity gain. There's the likelihood of more severe HF distortion than this and it'll also get worse at higher gains. The GBW product of the opamps looks barely adequate for audio at 4MHz. The quiescent current for 4 JFET input amps is a fairly measly 6mA - that's just 1.5mA per opamp. Finally, as the list price for these is over $7 (1k), how do you know the eBay parts aren't fakes?

CharlieLaub

3rd November 2010 04:15 AM

that's not what I measured

Thanks for mentioning the specs from the datasheet. Honestly, I don't believe that that the bandwidth is a problem. You are not using the chip as a gain stage, it's a filter and the gain will be unity or less, so I think that there is plenty of GBP.

On the other hand, the THD spec would be worrisome, except that I have built and measured a circuit using this chip. The actual circuit construction was pretty ugly, I didn't do any bypassing, I took the measurements without any special attention to shielding, etc. and I still got way less distortion than 0.1%, in fact it is less than 0.01% at all frequencies and is generally below 0.005%. OK, I just noticed that I only measured 2nd and 3rd order distortion, and the measurements only go up to 500Hz (this was a low frequency HP filter), but you get the idea. See image below...
Here is a graph of the distortion of the circuit from my project using the UAF42:http://audio.claub.net/image/Pic12.png

-Charlie

abraxalito

3rd November 2010 04:37 AM

Thanks for sharing the plot. It looks like you've a very low fundamental frequency there - with the harmonics below 100Hz, you might be looking at 10 - 30Hz for the fundamental. That's not inconsistent with the datasheet figure at 1kHz, here's why.

The opamps in your chip look to have very similar performance characteristics to the TL074 (with the exception of THD - on the TL074 its low, around 0.003% at 1kHz.) So its reasonable to assume the OL gain curve is going to look similar to the TL074. This part shows an OL -3dB bandwidth around 50Hz. There's a factor of 20 between this and 1kHz, so the distortion will be the same factor higher there. That's for me the explanation of the difference between 0.005% and 0.1%.