A twisted tale about a logarithmic relay attenuator

Status
Not open for further replies.
passive preamp

Hello Russ,
I' ve just finished a passive preamp with an Alps Black beauty that I had laying around, unfortionaly in 50 K Ohms. Is it possiple to take this poti for the joshua tree attenuator ?
Another question: I have a Parasound DAC 1600 with balanced and unbalanced outputs and hopefully in the near future an diy aleph 5 (have a problem with one channel). Is it possible to buy one unbalanced joshua tree attenuator kit and upgrade this with another relay-board later to have a balanced version if I want to run the aleph balanced in the future ?
Is this setup ok, because I don't want to have an active preamp
( to save money and I can't hear loud anyway).
 
Re: passive preamp

DFroehlich said:
Hello Russ,
I' ve just finished a passive preamp with an Alps Black beauty that I had laying around, unfortionaly in 50 K Ohms. Is it possiple to take this poti for the joshua tree attenuator ?
Another question: I have a Parasound DAC 1600 with balanced and unbalanced outputs and hopefully in the near future an diy aleph 5 (have a problem with one channel). Is it possible to buy one unbalanced joshua tree attenuator kit and upgrade this with another relay-board later to have a balanced version if I want to run the aleph balanced in the future ?
Is this setup ok, because I don't want to have an active preamp
( to save money and I can't hear loud anyway).

The 50K alps pot will work just fine, but I am 99% sure (Brian can confirm) one is supplied with the kit.

Yes you can buy an unbalanced kit and buy only a single attenuator board kit later to change to balanced operation.

You can definately use the joshua tree in the setup you are talking about so long as your input impedance is more than the output impedance of the joshua tree. I would say at least double or so(but I am not sure this is a requirement). So just about all power amplifiers will work fine with the JT in front. I have used it sucessfully with an input impedance of 2.4K.

The output impedance of the stock joshua tree kit is 750ohms.

Cheers!
Russ
 
Won't a log pot driving a log attenuator end up giving you most of your volume in the initial rotation? (I'm assuming that the JT uses the pot as a voltage divider and that signal is analyzed logarithmically to determine where set the attenuation)

The Alps pot is "too good" for this application anyway 🙂 use the supplied pot and save the Black Beauty for another project. Did you get yours from JBL spare parts, too?
 
BobEllis said:
Won't a log pot driving a log attenuator end up requiring a lot of rotation to get the initial volume?

I didn't know he was talking about a log pot, but yes if it is one you will get an exagerated log curve, log*log. 🙂 with lots of rotation for the bottom end and just a wee bit for the top. It would be better to use a linear pot, and yes any cheap 5K to 100K or so linear pot will do. But I agree with Bob, just use the supplied pot, it actually is not a bad pot at all.

The logarithmic nature of the attenuator is not done in software but by virtue of the calculated attenuation of each stage. The action of the relays is actually linear, but the result is logarithmic. 🙂

Cheers!
Russ
 
Constant output impedance?

I just stumbled upon this design. Referring to the schematic in post 29 the attenuator will not have a constant output impedance.

Considering the last stage of the attenuator (R19, R19S and R21), the output impedance changes depending on whether the relay is open or closed. In the open state (K7:2 - K7:3 connected):

Zout = Zin + ((R19+R19S)||(R21))

Assuming Zin = 2200 at this stage (it doesn't), we have:

Zout = 2200 + (84500+887)||(2257) = 2200 + 2198.98 = 43198.98

However, with the switch closed (K7:4 - K7:3 connected):

Zout = Zin + (R19 + R19S) = 2200 + 85537 = 97737

So, the Zout changes depending on whether the relay is open or closed and the change is significant! This analysis is true for all stages except for the first stage (around K1) however the most significant change in output impedance occurs for the last stage!

To make the Zout constant over all switch settings, the resistor configuration used around relay K1 (R1 and R2 configuration) should be used at each stage so that the output impedance of each stage is always R1 || R2 (or R4 || R5 , ...).

Except for the first stage all of the resistor values will need to be recalculated as well.

Sorry if this has already been mentioned and corrected. I believe that Nelson used a similar design (having constant output impedance) in the Aleph-P.

Cheers,
Brad
 
Re: Constant output impedance?

bpetrus said:
I just stumbled upon this design. Referring to the schematic in post 29 the attenuator will not have a constant output impedance.
Cheers,
Brad

Hi Brad, I am sure your post is well intentioned, but it is incorrect. If you test the actual circuit or run a simulation in SPICE you will see.

To measure output impedance attach one end of an ohmeter to IN and IN-GND and the other to OUT. You will see it stays nearly flat through the whole range regardless of how many relays are open or closed. You can also run the circuit through the similator here:

http://jos.vaneijndhoven.net/switchr/switchprog.html

The circuit is already well tested.

Cheers!
Russ
 
Re: Constant output impedance?

Russ White said:


Hi Brad, I am sure your post is well intentioned, but it is incorrect. If you test the actual circuit or run a simulation in SPICE you will see.

Russ

Hi Russ,

Your right, i did make several mistakes in my analysis but the output impedance still changes depending on relay positions - although not as significantly as I suggested in my previous post.

The correct analysis is:

Zout1 = (Zin + R1) || R2, for K1 open
= Zin + (R1||R2), for K1 closed

Zout2 = (Zout1 + R4) || R6, for K2 open
= Zout1, for K2 closed

Zout3 = (Zout2 + R7) || R8, for K3 open
= Zout2 for K3 closed

...

Zout7 = (Zout6 + R19 + R19S) || R21, for K7 open
= Zout6, for K7 closed

So,

Zout1 = (2200 + 2330) || 39328 = 4062, for K1 open
= 2200 + (2330 || 39328) = 4400, for K1 closed
-> greater than 8% deviation in output impedance

Zout2 = (Zout1 + 268) || 20230, for K2 open
= (4062 + 268) || 20230 = 3567, for K1 open, K2 open
= (4400 + 268) || 20230 = 3792, for K1 closed, K2 open
= 4062 for K1 open, K2 closed
= 4400 for K1 closed, K2 closed
-> +/- 10% variation about mean of 4000 ohm

So, if all other relays are closed (i.e. they provide no additional attenuation) the output impedance varies by +/- 10% around 4Kohm.

In the worse case, the variation between output impedance occurs between the cases when all relays are open and all relays are closed.

Additionally, since the output impedance of each stage changes depending on the relay positions, the attenuation at each stage also changes depending on the positions of the relays up to the given stage.

For example, the attenuation at the third stage (K3 open) is:
Attenuation = -20 * log10 (R9 / (Zout2 + R7 + R9))
= -20 * log10 (10697 / (Zout2 + 570 + 10697))

= -20 * log10 (0.721) = 2.84 dB, for K1 and K2 open
= -20 * log10(0.683) = 3.31 dB, for K1 and K2 closed

So, the relay K3 produces a variation of +/- 0.23dB around the nominal value of 3.07dB depending on the states of K1 and K2.

Cheers,
Brad
 
Re: Re: Constant output impedance?

bpetrus said:


Hi Russ,

Your right, i did make several mistakes in my analysis but the output impedance still changes depending on relay positions - although not as significantly as I suggested in my previous post.

The correct analysis is:

.....

Cheers,
Brad

You still have it wrong, but you are getting closer. 😉 The output impedance is right around 2.2K always for the resistor set I believe you are looking at, but yes with a slight variation depending on tolerance of resistors used and you choice of values. 🙂 Also it is easy to calulate resistors for even tighter values, but for most cases that is completely unecessary.

I have the advantage of having one here to test. 😀 If you run it through the simulator link I posted will get an accurate picture of what to expect as it is very faithful to reality.

Cheers!
Russ
 
Just to give you an idea, I just measured a production board with a nominal 750ohm output impedance. The impedance hit a low of 742ohm and a high of 748ohm and was right at 746ohms for 80% of the attenuation range. 🙂 Less than 1% deviation with standard E96 values and 1% tolerance resistors. Pretty darn good. :up:

Cheers!
Russ
 
Re: Re: Re: Constant output impedance?

Russ White said:


You still have it wrong, but you are getting closer. 😉

Cheers!
Russ

Hi Russ,

Actually, my calculations are correct!!! However, for some reason I assumed a source impedance of 2200! Using the link to the attenuation calculator that you referenced I simulated the first 3 stages using the following script:


Vin 1 0
R0 1 2 2200
R1 2 3 2330
R2 3 4 39328
Q1 2 4 0
R4 3 5 268
R6 6 0 20230
Q2 3 5 6
R7 5 7 570
R9 8 0 10697
Q3 5 7 8
Vout 7 0


The resistor R0 corresponds to the source impedance. If you set R0 to 0 you get the results that you indicated. However, if you use a source impedance of 2200 you get the results that I posted:


Got 7 resistors, 3 switches, in=1 out=7
===================================================
Vout/Vin[dB] Vout/Vin[ratio] Rin Rout Q1 Q2 Q3
-5.4713645 0.53263754 10832.045 2983.0808 0 0 0
-4.7742934 0.5771455 11904.286 3098.8071 1 0 0
-4.0720367 0.62574613 13287.952 3232.3892 0 1 0
-3.3142989 0.6827867 15666.68 3393.231 1 1 0
-2.6316266 0.73861593 18004.832 3566.6802 0 0 1
-1.8032593 0.8125256 24897.68 3792.6086 1 0 1
-0.9469392 0.8967121 43858.0 4062.106 0 1 1
-5.177194E-7 0.99999994 -9.223372E18 4399.679 1 1 1


In practice, 2200 is a bit high to assume for a line-level source impedance so the results above are a bit extreme but, then again, assuming a source impedance of 0 ohms is similarly invalid.

Cheers,
Brad
 
Re: Re: Re: Re: Constant output impedance?

bpetrus said:

assuming a source impedance of 0 ohms is similarly invalid.


Brad,

I do not assume any input impedance accept that it be much lower than the output impedance.

The beautiful thing is if the resistor values are not right for your source's output impedance you can calculate new ones. But "most" sources have impedances lower than 100ohms. And as you will see in reality and in simulation thats makes no difference at all.


Cheers!
Russ
 
Here is a realistic simulation with a high output Z source (75 ohms) if you have a source impedance a lot greater than that you should either use higher resistor values, or use a buffer.

added R 75.0
added R 2330.0
added R 39328.0
added Switch Q1
added R 268.0
added R 20230.0
added Switch Q2
added R 570.0
added R 10697.0
added Switch Q3
Got 7 resistors, 3 switches, in=1 out=7
===================================================
Vout/Vin[dB] Vout/Vin[ratio] Rin Rout Q1 Q2 Q3
-3.5745716 0.6626305 8707.045 2233.0793 0 0 0
-3.0663698 0.7025569 9779.286 2237.1672 1 0 0
-2.5584562 0.74486434 11162.952 2241.935 0 1 0
-2.0482104 0.7899316 13541.68 2247.102 1 1 0
-1.5407627 0.83745575 15879.833 2252.2441 0 0 1
-1.028365 0.8883452 22772.68 2258.7769 1 0 1
-0.5155545 0.9423718 41733.0 2266.404 0 1 1
-5.177194E-7 0.99999994 -6.8321275E17 2274.6792 1 1 1
 
Also note if you know your source has a high output impedance you can simply subract that impedance from R1 for example:


Vin 1 0
R0 1 2 1200
R1 2 3 1130
R2 3 4 39328
Q1 2 4 0
R4 3 5 268
R6 6 0 20230
Q2 3 5 6
R7 5 7 570
R9 8 0 10697
Q3 5 7 8
Vout 7 0


CCopyright Jos van Eijndhoven <jos@vaneijndhoven.net>
added R 1200.0
added R 1130.0
added R 39328.0
added Switch Q1
added R 268.0
added R 20230.0
added Switch Q2
added R 570.0
added R 10697.0
added Switch Q3
Got 7 resistors, 3 switches, in=1 out=7
===================================================
Vout/Vin[dB] Vout/Vin[ratio] Rin Rout Q1 Q2 Q3
-3.4994292 0.66838783 8632.045 2199.8623 0 0 0
-3.087446 0.70085424 9803.046 2248.8665 1 0 0
-2.4999013 0.7499027 11087.952 2200.042 0 1 0
-2.0634367 0.78854805 13565.438 2261.9019 1 1 0
-1.4996425 0.84142977 15804.833 2199.3945 0 0 1
-1.0374228 0.8874193 22796.44 2277.5073 1 0 1
-0.49993157 0.9440683 41658.0 2199.6792 0 1 1
0.0 1.0 1.0E9 2298.439 1 1 1
 
Hi,
the old Croft pre-amps (valve/tube) had an output impedance of about 1k ohms. This is with the buffer you already specified.

What would be suitable for hanging on the end of this? At the moment adjustment is by two mono (log) pots at opposite ends of the facia.
 
AndrewT said:
Hi,
the old Croft pre-amps (valve/tube) had an output impedance of about 1k ohms. This is with the buffer you already specified.

What would be suitable for hanging on the end of this? At the moment adjustment is by two mono (log) pots at opposite ends of the facia.


I would use the 2.2K output impedance resistor set but adjust R1 by subtracting the output impedance of your preamp (1K). So R1 would be something like 1.3K

If anyone want I will calculate a resistor set for any source and output impedance they like.

I am working on a web application which will allow people to do that for themselves.

Cheers!
Russ
 
Hi,
that, unfortunately, was not the answer I wanted.

Source Z=1k0
Attenuator Z=2k2
R1=1k2
output Z=2k2

Now the output Z is even worse than the unmodified output Z.

I was hoping to get a lower output Z than the previous 1k0

Does this mean I need to look for another solution?
 
I have some questions about this relay based volume pot,

First what kind of rotary encoder does it use ? Does it skip?

How long does it take to turn p the volume to full and then back down.

The reason i ask is because with mine that i have now it takes a long time to get up to full volume and then a long time to get back down.

I've seen some where it is really quick and some that are really slow.

Any info russ ?
 

Attachments

  • relay.jpg
    relay.jpg
    86.1 KB · Views: 1,490
Status
Not open for further replies.