Using 4 4-channel digipot or 3 6-channel digipot to control analog crossover filter

Hi there, i struggled to find a variable 24dB/oct crossover circuit that can change the crossover frecuency (the -6dB coincident point of HP and LP filter for each driver) using less than 8 variable resistors (16 for stereo). Have two different designs that i have found online (not variable tho).

Assuming all the op amps in the filter will be working at 0 - 5V (which should suffice for line level +4dBu-->1.75Vpk), is it feasable?

Can a single arduino UNO work with 3 AD5206 or DS3930 or MCP 4451? (or something similar)
MCP D.S. :

"Since there are address bits controlled by hardware
pins, there may be up to four MCP44XX devices on the
same I 2C bus."

I only did a midi controller like ten years ago using arduino....

the refference circuits can be found here:

https://www.linkwitzlab.com/filters.htm#3

Thanks!

Digipots are not always decoupled from the logic signal ground. You may have to insulate each pot by optocouplers and a fully independent (floating) power supply. In a filter circuit also stray capacities and more may influence the entire circuit operation.

Another solution may be ordinary pots and a (servo) motor. Stereo pots may be fine, else the secondary layer can be used for feedback during initialization of the desired resistance.

Hi, @rafunky
Welcome to the forum.

So you have 8 stereo channels.
You want to be able to control the ACTIVE crossover network on each of the channels, that is 16 crossovers?

Looking at your reference, there are a lot of resistors in the circuits that have to be all changed to change crossover points.

Tom.. :smiley: :+1: :coffee: :australia:

Thanks many things to research!

If i understood right the potentiometers in quad hextuple digipots will have some pulse trains coupled to the audio signal voltage that would be imposed in those pots by the filter circuit? (as the chip is connected to the arduino ground, despite the pot is just connected to the filter ground).

For this stereo signal, in both examples, Fcut can be found with the formulas provided in the links, which require one to vary 8 resistors. In total its 16 resistors since its for a stereo signal (an active crossover for speakers).

About the optocouplers, i can't understand exactly how they would work in the circuit...
I am guessing the emitter should go between DATA and GND Arduino terminals, and interconnect on the other side with each quad pot, not entirely sure which terminals. Could i use a separate PSU for the filter and all the pots and another one for the arduino?

Thanks a lot!

If all pots are connected to audio ground then everything is fine. Floating pots have to be insulated from the PSU and Arduino.

1 Like

The relation between R and C in that circuit determines Fcut, u have to vary 8 total resistors to have a HPass and an LPass output change its coincindent -6dB point in linkwitz riley configuration. Still, we need to applly the same exact filter to the other channel, which would feed the other pair of driver of the other speaker. In total we have to vary 16 resistors.

Multigang pots are not a possibility as they rarely come in more than stereo, and it would be quite a pain to adjust 8 stereo pots manually, and also unprecise. There is another project that just needs to vary 4 resistors in total but its 12dB/oct, which sometimes isn't appropiate. But it could work with just one quad pot, which is tempting if the other seems unfeasable.

About the servo motor pots, are u seggesting to get 16 servo motors to precicesly change each resistor value? wouldnt that be real expensive?

Yes, analog technology is sensitive, clumsy and expensive.

You may be better off with a DSP and software solution.

1 Like

I think you will find that the resolution of digital pots would not be sufficient to set them accurately enough to get a good filter shape.

I would go for a DSP solution like @DrDiettrich suggested.

You might have to go for a more powerful processor like a Teensy 4.1.

1 Like

The time has come for manually matched digipots :stuck_out_tongue: :stuck_out_tongue: :P. Seriously, you both right... Yes i come from an analog background. In audio we still use Class A circuits in many stages of the signal... All this pretty new to me...
May try to make the 12dB one just to see what i can achieve with just one quad. I was hoping maybe pot1 posx could be real close to pot2 pos x or x+-1 .

About DAC's, i'm trying to go for a DIY option, and DAC's design seems like a real big challenge on its own. But maybe thats the path, try some R2R. I feel if i make a DAC (after a lot of struggle) with for example ak4990 it will sound like crap, compared to 70US. equipment with the same chip. I will check on teensy to see if i can figure it out.

Other option would be something that works like a 16 throw 2 or 3 position switch, to have at least a couple of Fcuts to choose from, i ll research about digitally controled switches with arduino, any suggestions?

Thanks for the replies!

I would not touch an R2R ladder for anything over 6 bits. The problem is that the later resistor values need to be way too precisely matched to be feasible. For example an 8 bit value gives you allegedly 1 part in 256. Which in percentage terms is 0.39 % accuracy.

You are much better using a PWM signal, these are normally 8 bits of resolution, but there is a way to get 16 bit D/A resolution by using this code.

1 Like

Thanks! in audio we need at least 16 bit depth for non lo fi applications :slight_smile:

Audio is usually ground referred. Positive and negative going.
Most digital posts can't do negative.
Only one chip in your list seems to be able to handle + and - 2.5volt, which isn't much.
Leo..

No you don't.

That is simply wrong. Have you ever tried 13 bits or even 13 and a half bits? This was used by the BBC for many years for FM broadcasts. That is hardly a lo-fi system is it?

Or are you a gold plated mains plug audiophile?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.